# Variants

Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc. Variants cannot exist on its own as they need to be attached to a product. Variants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc.

## Get ids of all variants in the system

> By default, ids for archived variants are not returned

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}}},"paths":{"/v1/variants/ids":{"get":{"tags":["Variants"],"summary":"Get ids of all variants in the system","description":"By default, ids for archived variants are not returned","parameters":[{"name":"includeArchived","in":"query","description":"Include archived variants","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}}}}}}}
```

## GET /v1/variants/{id}

> Get basic model for a variant

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Variant.VariantModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Id of variant","format":"int32"},"Name":{"type":"object","additionalProperties":{"type":"string"},"description":"Display name of variant (Dictionary of ISO culture code and name)\r\nNote: Available from 3.7.0","nullable":true},"ProductId":{"type":"integer","description":"Id of product to which variant is attached","format":"int32"},"SortOrder":{"type":"integer","description":"#Available from v.3.2.0\r\nThe sort order of the variant compared to other variants of this product","format":"int32"},"VariantGroupId":{"type":"integer","description":"#Available from v.3.11.0\r\nThe variant group this variant is connected to, if any","format":"int32","nullable":true},"VariantGroupSortOrder":{"type":"integer","description":"#Available from v.3.11.0\r\nThe sortorder relative to other variants connected to the same variant group","format":"int32","nullable":true},"Created":{"type":"string","description":"Timestamp of variant creation","format":"date-time"},"CreatedBy":{"type":"string","description":"Username of the user who created the variant","nullable":true},"LastModified":{"type":"string","description":"Timestamp of the last variant update","format":"date-time"},"LastModifiedBy":{"type":"string","description":"Username of the user who made the last change to the variant","nullable":true},"IsArchived":{"type":"boolean","description":"Indicates whether the variant is archived"},"ArchiveReason":{"type":"string","description":"The uid of the archive reason selected when the variant was archived","format":"uuid","nullable":true},"ProductStructureUid":{"type":"string","description":"The product structure used by this variant","format":"uuid"},"DefiningAttributes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"The unique ids of the attributes acting as defining attributes for this variant","nullable":true},"WorkflowStateUid":{"type":"string","description":"The uid of the workflow state of the variant","format":"uuid","nullable":true},"BusinessUnits":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.BusinessUnitRelationModel"},"description":"This business units this variant is associated with","nullable":true}},"additionalProperties":false,"description":"Variant model holding basic information about the variant"},"Struct.App.Api.Models.Shared.BusinessUnitRelationModel":{"type":"object","properties":{"AccessPolicy":{"type":"string","description":"Access policy for this business unit relation","nullable":true},"BusinessUnitUid":{"type":"string","description":"The business unit uid","format":"uuid"}},"additionalProperties":false,"description":"Represents a relation between an entity and a business unit."}}},"paths":{"/v1/variants/{id}":{"get":{"tags":["Variants"],"summary":"Get basic model for a variant","parameters":[{"name":"id","in":"path","description":"Id of variant","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.VariantModel"}}}}}}}}}
```

## DELETE /v1/variants/{id}

> Delete a variant

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}}},"paths":{"/v1/variants/{id}":{"delete":{"tags":["Variants"],"summary":"Delete a variant","parameters":[{"name":"id","in":"path","description":"Id of variant to delete","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK"}}}}}}
```

## PATCH /v1/variants/{id}

> Update a variant

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Variant.UpdateVariantModel":{"type":"object","properties":{"ProductId":{"type":"integer","description":"Id of product to move variant to","format":"int32","nullable":true},"IsArchived":{"type":"boolean","description":"Indicate whether the product shall be archived or un-archived","nullable":true},"ArchiveReason":{"type":"string","description":"Reference to the archive reason when archiving variant (if IsArchived is true)","format":"uuid","nullable":true},"SortOrder":{"type":"integer","description":"Sort order of variant compared to other variants of the product","format":"int32","nullable":true},"VariantGroupSortOrder":{"type":"integer","description":"Sort order of variant compared to other variants in same variant group","format":"int32","nullable":true},"WorkflowStateUid":{"type":"string","description":"Workflow state to set on the variant","format":"uuid","nullable":true},"BusinessUnits":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.BusinessUnitRelationModel"},"description":"Business unit relations to set on the variant","nullable":true},"Values":{"type":"object","additionalProperties":{},"description":"Dictionary of attribute alias and the corresponding attribute value as an object representation","nullable":true}},"additionalProperties":false,"description":"Update model containing the updates to make on a variant. Note that properties with null values will be ignored and will not cause an update.\r\nThis means you should only set properties that shall be updated on the variant"},"Struct.App.Api.Models.Shared.BusinessUnitRelationModel":{"type":"object","properties":{"AccessPolicy":{"type":"string","description":"Access policy for this business unit relation","nullable":true},"BusinessUnitUid":{"type":"string","description":"The business unit uid","format":"uuid"}},"additionalProperties":false,"description":"Represents a relation between an entity and a business unit."}}},"paths":{"/v1/variants/{id}":{"patch":{"tags":["Variants"],"summary":"Update a variant","parameters":[{"name":"id","in":"path","description":"Id of variant","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"Update model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.UpdateVariantModel"}}}},"responses":{"200":{"description":"OK"}}}}}}
```

## POST /v1/variants/batch

> Get basic model for a range of variants

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Variant.VariantModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Id of variant","format":"int32"},"Name":{"type":"object","additionalProperties":{"type":"string"},"description":"Display name of variant (Dictionary of ISO culture code and name)\r\nNote: Available from 3.7.0","nullable":true},"ProductId":{"type":"integer","description":"Id of product to which variant is attached","format":"int32"},"SortOrder":{"type":"integer","description":"#Available from v.3.2.0\r\nThe sort order of the variant compared to other variants of this product","format":"int32"},"VariantGroupId":{"type":"integer","description":"#Available from v.3.11.0\r\nThe variant group this variant is connected to, if any","format":"int32","nullable":true},"VariantGroupSortOrder":{"type":"integer","description":"#Available from v.3.11.0\r\nThe sortorder relative to other variants connected to the same variant group","format":"int32","nullable":true},"Created":{"type":"string","description":"Timestamp of variant creation","format":"date-time"},"CreatedBy":{"type":"string","description":"Username of the user who created the variant","nullable":true},"LastModified":{"type":"string","description":"Timestamp of the last variant update","format":"date-time"},"LastModifiedBy":{"type":"string","description":"Username of the user who made the last change to the variant","nullable":true},"IsArchived":{"type":"boolean","description":"Indicates whether the variant is archived"},"ArchiveReason":{"type":"string","description":"The uid of the archive reason selected when the variant was archived","format":"uuid","nullable":true},"ProductStructureUid":{"type":"string","description":"The product structure used by this variant","format":"uuid"},"DefiningAttributes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"The unique ids of the attributes acting as defining attributes for this variant","nullable":true},"WorkflowStateUid":{"type":"string","description":"The uid of the workflow state of the variant","format":"uuid","nullable":true},"BusinessUnits":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.BusinessUnitRelationModel"},"description":"This business units this variant is associated with","nullable":true}},"additionalProperties":false,"description":"Variant model holding basic information about the variant"},"Struct.App.Api.Models.Shared.BusinessUnitRelationModel":{"type":"object","properties":{"AccessPolicy":{"type":"string","description":"Access policy for this business unit relation","nullable":true},"BusinessUnitUid":{"type":"string","description":"The business unit uid","format":"uuid"}},"additionalProperties":false,"description":"Represents a relation between an entity and a business unit."}}},"paths":{"/v1/variants/batch":{"post":{"tags":["Variants"],"summary":"Get basic model for a range of variants","requestBody":{"description":"Ids of variants to get models for","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.VariantModel"}}}}}}}}}}
```

## Get basic models for variants

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

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Variant.VariantsResultSet":{"type":"object","properties":{"Variants":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.VariantModel"},"description":"Variants in result set","nullable":true},"Total":{"type":"integer","description":"The total number of items","format":"int32"},"Remaining":{"type":"integer","description":"The remaining items that lie after the last id of the item in this result set","format":"int32"},"LastId":{"type":"integer","description":"The id of the last item in this result set","format":"int32"}},"additionalProperties":false,"description":"Result set of variants from a variant query"},"Struct.App.Api.Models.Variant.VariantModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Id of variant","format":"int32"},"Name":{"type":"object","additionalProperties":{"type":"string"},"description":"Display name of variant (Dictionary of ISO culture code and name)\r\nNote: Available from 3.7.0","nullable":true},"ProductId":{"type":"integer","description":"Id of product to which variant is attached","format":"int32"},"SortOrder":{"type":"integer","description":"#Available from v.3.2.0\r\nThe sort order of the variant compared to other variants of this product","format":"int32"},"VariantGroupId":{"type":"integer","description":"#Available from v.3.11.0\r\nThe variant group this variant is connected to, if any","format":"int32","nullable":true},"VariantGroupSortOrder":{"type":"integer","description":"#Available from v.3.11.0\r\nThe sortorder relative to other variants connected to the same variant group","format":"int32","nullable":true},"Created":{"type":"string","description":"Timestamp of variant creation","format":"date-time"},"CreatedBy":{"type":"string","description":"Username of the user who created the variant","nullable":true},"LastModified":{"type":"string","description":"Timestamp of the last variant update","format":"date-time"},"LastModifiedBy":{"type":"string","description":"Username of the user who made the last change to the variant","nullable":true},"IsArchived":{"type":"boolean","description":"Indicates whether the variant is archived"},"ArchiveReason":{"type":"string","description":"The uid of the archive reason selected when the variant was archived","format":"uuid","nullable":true},"ProductStructureUid":{"type":"string","description":"The product structure used by this variant","format":"uuid"},"DefiningAttributes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"The unique ids of the attributes acting as defining attributes for this variant","nullable":true},"WorkflowStateUid":{"type":"string","description":"The uid of the workflow state of the variant","format":"uuid","nullable":true},"BusinessUnits":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.BusinessUnitRelationModel"},"description":"This business units this variant is associated with","nullable":true}},"additionalProperties":false,"description":"Variant model holding basic information about the variant"},"Struct.App.Api.Models.Shared.BusinessUnitRelationModel":{"type":"object","properties":{"AccessPolicy":{"type":"string","description":"Access policy for this business unit relation","nullable":true},"BusinessUnitUid":{"type":"string","description":"The business unit uid","format":"uuid"}},"additionalProperties":false,"description":"Represents a relation between an entity and a business unit."}}},"paths":{"/v1/variants":{"get":{"tags":["Variants"],"summary":"Get basic models for variants","description":"No more than 5000 variants can be requested at a time. If no limit is provided, the default limit of 1000 will be used. By default, archived variants are not returned","parameters":[{"name":"includeArchived","in":"query","schema":{"type":"boolean","default":false}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":1000}},{"name":"afterId","in":"query","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.VariantsResultSet"}}}}}}}}}
```

## Create new variants

> A maximum of 5000 variants can be created in one request

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Variant.CreateVariantModel":{"type":"object","properties":{"ProductId":{"type":"integer","description":"Id of product to attach variant to","format":"int32"},"SortOrder":{"type":"integer","description":"Sort order of variant compared to other variants of the product (when null, variant is placed after existing variants)","format":"int32","nullable":true},"VariantGroupSortOrder":{"type":"integer","description":"Sort order of variant compared to other variants in same variant group","format":"int32","nullable":true},"WorkflowStateUid":{"type":"string","description":"Workflow state to set on the variant","format":"uuid","nullable":true},"BusinessUnits":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.BusinessUnitRelationModel"},"description":"Business unit relations to set on the variant","nullable":true},"Values":{"type":"object","additionalProperties":{},"description":"Dictionary of attribute alias and the corresponding attribute value as an object representation","nullable":true}},"additionalProperties":false,"description":"Model for creating a new variant"},"Struct.App.Api.Models.Shared.BusinessUnitRelationModel":{"type":"object","properties":{"AccessPolicy":{"type":"string","description":"Access policy for this business unit relation","nullable":true},"BusinessUnitUid":{"type":"string","description":"The business unit uid","format":"uuid"}},"additionalProperties":false,"description":"Represents a relation between an entity and a business unit."},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"Type":{"type":"string","nullable":true},"Title":{"type":"string","nullable":true},"Status":{"type":"integer","format":"int32","nullable":true},"Detail":{"type":"string","nullable":true},"Instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/v1/variants":{"post":{"tags":["Variants"],"summary":"Create new variants","description":"A maximum of 5000 variants can be created in one request","requestBody":{"description":"Variants","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.CreateVariantModel"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## DELETE /v1/variants

> Delete multiple variants

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}}},"paths":{"/v1/variants":{"delete":{"tags":["Variants"],"summary":"Delete multiple variants","requestBody":{"description":"Ids of variants to delete","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}},"responses":{"200":{"description":"OK"}}}}}}
```

## PATCH /v1/variants

> Update multiple variants

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Variant.BatchUpdateVariantModel":{"type":"object","properties":{"VariantId":{"type":"integer","description":"Id of variant to update","format":"int32"},"UpdateModel":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.UpdateVariantModel"}},"additionalProperties":false,"description":"Update model for a variant"},"Struct.App.Api.Models.Variant.UpdateVariantModel":{"type":"object","properties":{"ProductId":{"type":"integer","description":"Id of product to move variant to","format":"int32","nullable":true},"IsArchived":{"type":"boolean","description":"Indicate whether the product shall be archived or un-archived","nullable":true},"ArchiveReason":{"type":"string","description":"Reference to the archive reason when archiving variant (if IsArchived is true)","format":"uuid","nullable":true},"SortOrder":{"type":"integer","description":"Sort order of variant compared to other variants of the product","format":"int32","nullable":true},"VariantGroupSortOrder":{"type":"integer","description":"Sort order of variant compared to other variants in same variant group","format":"int32","nullable":true},"WorkflowStateUid":{"type":"string","description":"Workflow state to set on the variant","format":"uuid","nullable":true},"BusinessUnits":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.BusinessUnitRelationModel"},"description":"Business unit relations to set on the variant","nullable":true},"Values":{"type":"object","additionalProperties":{},"description":"Dictionary of attribute alias and the corresponding attribute value as an object representation","nullable":true}},"additionalProperties":false,"description":"Update model containing the updates to make on a variant. Note that properties with null values will be ignored and will not cause an update.\r\nThis means you should only set properties that shall be updated on the variant"},"Struct.App.Api.Models.Shared.BusinessUnitRelationModel":{"type":"object","properties":{"AccessPolicy":{"type":"string","description":"Access policy for this business unit relation","nullable":true},"BusinessUnitUid":{"type":"string","description":"The business unit uid","format":"uuid"}},"additionalProperties":false,"description":"Represents a relation between an entity and a business unit."}}},"paths":{"/v1/variants":{"patch":{"tags":["Variants"],"summary":"Update multiple variants","requestBody":{"description":"Update model","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.BatchUpdateVariantModel"}}}}},"responses":{"200":{"description":"OK"}}}}}}
```

## GET /v1/variants/identifiers/{identifierAlias}

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

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}}},"paths":{"/v1/variants/identifiers/{identifierAlias}":{"get":{"tags":["Variants"],"summary":"Get all identifiers and their internal ids for a specific identifier type","parameters":[{"name":"identifierAlias","in":"path","description":"Alias of identifier type","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}}}}}}}}}}
```

## GET /v1/variants/identifiers/{identifierAlias}/{identifier}

> Get the internal id of a variant based on its identifier

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}}},"paths":{"/v1/variants/identifiers/{identifierAlias}/{identifier}":{"get":{"tags":["Variants"],"summary":"Get the internal id of a variant based on its identifier","parameters":[{"name":"identifierAlias","in":"path","description":"Alias of identifier type","required":true,"schema":{"type":"string"}},{"name":"identifier","in":"path","description":"Identifier value","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}}}}
```

## POST /v1/variants/batch/identifiers

> Get internal ids of multiple variants from their identifier

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Shared.IdentifierBatchModel":{"type":"object","properties":{"IdentifierAlias":{"type":"string","description":"The alias of the identifier","nullable":true},"Identifiers":{"type":"array","items":{"type":"string"},"description":"Array of identifiers to return internal ids for","nullable":true}},"additionalProperties":false,"description":"Provide an identifier alias along with an array of identifiers to get the internal entity ids matching those identifiers"}}},"paths":{"/v1/variants/batch/identifiers":{"post":{"tags":["Variants"],"summary":"Get internal ids of multiple variants from their identifier","requestBody":{"description":"Specify alias of identifier type and the identifiers to return internal ids for","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.IdentifierBatchModel"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}}}}}}}}}}
```

## GET /v1/variants/{id}/attributevalues

> Get attribute values for a variant

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Variant.VariantAttributeValuesModel":{"type":"object","properties":{"VariantId":{"type":"integer","description":"Id of variant","format":"int32"},"Values":{"type":"object","additionalProperties":{},"description":"Dictionary of attribute alias and the corresponding attribute value as an object representation","nullable":true}},"additionalProperties":false,"description":"Model containing requested variant attribute values"},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"Type":{"type":"string","nullable":true},"Title":{"type":"string","nullable":true},"Status":{"type":"integer","format":"int32","nullable":true},"Detail":{"type":"string","nullable":true},"Instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/v1/variants/{id}/attributevalues":{"get":{"tags":["Variants"],"summary":"Get attribute values for a variant","parameters":[{"name":"id","in":"path","description":"Id of variant","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"globalListValueReferencesOnly","in":"query","description":"Indicate if only uids of referenced to global list values shall be returned instead of the materialized values","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.VariantAttributeValuesModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## Get attribute values for multiple variants

> No more than 5000 variants can be requested at a time.

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Variant.VariantValuesRequestModel":{"type":"object","properties":{"VariantIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"Ids of products to return","nullable":true},"IncludeValues":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.ValueIncludeMode"},"Scopes":{"type":"array","items":{"type":"string"},"description":"If IncludeValues is Scopes, define which scopes to return values for here","nullable":true},"Aliases":{"type":"array","items":{"type":"string"},"description":"If IncludeValues is Aliases, define aliases of the attributes to include values for","nullable":true},"Uids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"If IncludeValues is Uids, define uids of the attributes to include values for","nullable":true},"LimitToCultureCodes":{"type":"array","items":{"type":"string"},"description":"Only return values for specific languages","nullable":true},"LimitToSegments":{"type":"array","items":{"type":"string"},"description":"Only return values for specific dimension segments","nullable":true},"GlobalListValueReferencesOnly":{"type":"boolean","description":"Indicate if only uids of referenced to global list values shall be returned instead of the materialized values"},"FromTimestamp":{"type":"string","description":"Get attribute values back in time","format":"date-time","nullable":true}},"additionalProperties":false,"description":"Define which categories to fetch data for and what data to fetch"},"Struct.App.Api.Models.Shared.ValueIncludeMode":{"enum":[1,2,3,4,5],"type":"integer","description":"Defines which attribute values to return \n\n- `1` = **All**: Return all attribute values\n- `2` = **Scopes**: Return values for scopes specified in request\n- `3` = **Aliases**: Return values for attribute aliases specified in request\n- `4` = **ScopesAndAliases**: Return values for attributes in specified scopes, plus values in the attributes specified by alias\n- `5` = **Uids**: Return values for attribute uids specified in request","format":"int32"},"Struct.App.Api.Models.Variant.VariantAttributeValuesModel":{"type":"object","properties":{"VariantId":{"type":"integer","description":"Id of variant","format":"int32"},"Values":{"type":"object","additionalProperties":{},"description":"Dictionary of attribute alias and the corresponding attribute value as an object representation","nullable":true}},"additionalProperties":false,"description":"Model containing requested variant attribute values"}}},"paths":{"/v1/variants/batch/attributevalues":{"post":{"tags":["Variants"],"summary":"Get attribute values for multiple variants","description":"No more than 5000 variants can be requested at a time.","requestBody":{"description":"Request model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.VariantValuesRequestModel"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.VariantAttributeValuesModel"}}}}}}}}}}
```

## Get references to a variant

> \#Available from v.3.5.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Variant.VariantReferences":{"type":"object","properties":{"VariantId":{"type":"integer","description":"Id of the referenced variant","format":"int32"},"ReferencingCategories":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.EntityReferenceDetail"},"description":"List of categories referencing this variant","nullable":true},"ReferencingProducts":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.EntityReferenceDetail"},"description":"List of products referencing this variant","nullable":true},"ReferencingVariantGroups":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.EntityReferenceDetail"},"description":"List of variant groups referencing this variant","nullable":true},"ReferencingVariants":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.EntityReferenceDetail"},"description":"List of variants referencing this variant","nullable":true},"ReferencingAssets":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.EntityReferenceDetail"},"description":"List of assets referencing this variant","nullable":true},"ReferencingGlobalListValues":{"type":"array","items":{"type":"string","format":"uuid"},"description":"List of global list values referencing this variant","nullable":true}},"additionalProperties":false,"description":"Model holding references from other entities to a variant"},"Struct.App.Api.Models.Shared.EntityReferenceDetail":{"type":"object","properties":{"EntityId":{"type":"integer","description":"The id of the referencing entity","format":"int32"},"AttributeUid":{"type":"string","description":"The attribute on the referencing entity that holds the reference","format":"uuid"}},"additionalProperties":false,"description":"Model holding the attribute reference information for an entity reference"}}},"paths":{"/v1/variants/{id}/references":{"get":{"tags":["Variants"],"summary":"Get references to a variant","description":"#Available from v.3.5.0","parameters":[{"name":"id","in":"path","description":"Id of variant","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.VariantReferences"}}}}}}}}}
```

## Get references to a batch of variants

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

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Variant.VariantReferences":{"type":"object","properties":{"VariantId":{"type":"integer","description":"Id of the referenced variant","format":"int32"},"ReferencingCategories":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.EntityReferenceDetail"},"description":"List of categories referencing this variant","nullable":true},"ReferencingProducts":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.EntityReferenceDetail"},"description":"List of products referencing this variant","nullable":true},"ReferencingVariantGroups":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.EntityReferenceDetail"},"description":"List of variant groups referencing this variant","nullable":true},"ReferencingVariants":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.EntityReferenceDetail"},"description":"List of variants referencing this variant","nullable":true},"ReferencingAssets":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.EntityReferenceDetail"},"description":"List of assets referencing this variant","nullable":true},"ReferencingGlobalListValues":{"type":"array","items":{"type":"string","format":"uuid"},"description":"List of global list values referencing this variant","nullable":true}},"additionalProperties":false,"description":"Model holding references from other entities to a variant"},"Struct.App.Api.Models.Shared.EntityReferenceDetail":{"type":"object","properties":{"EntityId":{"type":"integer","description":"The id of the referencing entity","format":"int32"},"AttributeUid":{"type":"string","description":"The attribute on the referencing entity that holds the reference","format":"uuid"}},"additionalProperties":false,"description":"Model holding the attribute reference information for an entity reference"}}},"paths":{"/v1/variants/batch/references":{"post":{"tags":["Variants"],"summary":"Get references to a batch of variants","description":"#Available from v.3.5.0\r\nNo more than 5000 values can be requested at a time.","requestBody":{"description":"Ids of variants","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.VariantReferences"}}}}}}}}}}
```

## POST /v1/variants/search

> Get ids of variants matching certain criteria

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Shared.SearchModel":{"type":"object","properties":{"IncludeArchived":{"type":"boolean","description":"Include archived items in result"},"QueryModel":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.QueryModel"}},"additionalProperties":false,"description":"Search model used for searching products or variants in PIM"},"Struct.App.Api.Models.Shared.QueryModel":{"type":"object","properties":{"BooleanOperator":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.BooleanOperator"},"QueryModelType":{"type":"string","description":"The type of query model. Name matches exact name of concrete model implementation","nullable":true,"readOnly":true}},"additionalProperties":false,"description":"Definition of general query model"},"Struct.App.Api.Models.Shared.BooleanOperator":{"enum":[0,1],"type":"integer","description":"Boolean operator \n\n- `0` = **And**: All conditions must be met\n- `1` = **Or**: At least one condition must be met","format":"int32"}}},"paths":{"/v1/variants/search":{"post":{"tags":["Variants"],"summary":"Get ids of variants matching certain criteria","requestBody":{"description":"Query model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.SearchModel"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}}}}}}}
```

## POST /v1/variants/search/paged

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

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Shared.SearchPagedModel":{"type":"object","properties":{"Page":{"type":"integer","format":"int32"},"PageSize":{"type":"integer","format":"int32","nullable":true},"FieldUids":{"type":"array","items":{"type":"string"},"nullable":true},"SortByFieldUid":{"type":"string","nullable":true},"SortDescending":{"type":"boolean","nullable":true},"IncludeArchived":{"type":"boolean","description":"Include archived items in result"},"QueryModel":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.QueryModel"}},"additionalProperties":false,"description":"Extended search model used for searching products or variants in PIM with support for paging and sorting"},"Struct.App.Api.Models.Shared.QueryModel":{"type":"object","properties":{"BooleanOperator":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.BooleanOperator"},"QueryModelType":{"type":"string","description":"The type of query model. Name matches exact name of concrete model implementation","nullable":true,"readOnly":true}},"additionalProperties":false,"description":"Definition of general query model"},"Struct.App.Api.Models.Shared.BooleanOperator":{"enum":[0,1],"type":"integer","description":"Boolean operator \n\n- `0` = **And**: All conditions must be met\n- `1` = **Or**: At least one condition must be met","format":"int32"},"Struct.App.Api.Models.Shared.SearchResultModel":{"type":"object","properties":{"TotalHits":{"type":"integer","format":"int32"},"Page":{"type":"integer","format":"int32"},"PageSize":{"type":"integer","format":"int32"},"TotalPages":{"type":"integer","format":"int32"},"ItemListHeaders":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.ItemListHeader"},"nullable":true},"ListItems":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.ListItem"},"nullable":true}},"additionalProperties":false},"Struct.App.Api.Models.Shared.ItemListHeader":{"type":"object","properties":{"FieldUid":{"type":"string","nullable":true},"FieldName":{"type":"string","nullable":true},"FieldType":{"type":"string","nullable":true},"SupportsSearching":{"type":"boolean"},"SupportsSorting":{"type":"boolean"}},"additionalProperties":false},"Struct.App.Api.Models.Shared.ListItem":{"type":"object","properties":{"Id":{"type":"integer","format":"int32"},"ShownValues":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false}}},"paths":{"/v1/variants/search/paged":{"post":{"tags":["Variants"],"summary":"Get paged result of variants matching certain criteria. Result mapped with headers and item results","requestBody":{"description":"Query model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.SearchPagedModel"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.SearchResultModel"}}}}}}}}}
```

## GET /v1/variants/queryfields

> Get all available query fields in the PIM installation

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Shared.QueryableField":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of field in PIM","nullable":true},"Name":{"type":"string","description":"The display name of the field","nullable":true},"SupportsSorting":{"type":"boolean","description":"If true field can be used for sorting"}},"additionalProperties":false,"description":"Representation of a queryable field in PIM"}}},"paths":{"/v1/variants/queryfields":{"get":{"tags":["Variants"],"summary":"Get all available query fields in the PIM installation","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.QueryableField"}}}}}}}}}}
```

## Get Enrichment Insights for a variant

> \#Available from v.3.5.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.EnrichmentInsight.EntityEnrichmentInsight":{"type":"object","properties":{"EnrichmentInsightSetupUid":{"type":"string","description":"Uid of enrichment insight","format":"uuid"},"EntityId":{"type":"integer","description":"Id of entity","format":"int32"},"Completeness":{"type":"integer","description":"Completeness in percentage (0 - 100). Is null, if ignored is true","format":"int32","nullable":true},"MissingData":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.EnrichmentInsight.InsightDataReference"},"description":"List of missing data for this entity to reach 100% completeness for this enrichment insight","nullable":true},"Ignored":{"type":"boolean","description":"Indicates whether the completeness is ignored for this entity and this enrichment insight"}},"additionalProperties":false,"description":"Model representing an entity's enrichment insight"},"Struct.App.Api.Models.EnrichmentInsight.InsightDataReference":{"type":"object","properties":{"Type":{"type":"string","description":"Type of data reference","nullable":true},"DataReference":{"type":"string","description":"The data reference itself","nullable":true}},"additionalProperties":false,"description":"Model representing an insights data reference"}}},"paths":{"/v1/variants/{id}/enrichmentinsights":{"get":{"tags":["Variants"],"summary":"Get Enrichment Insights for a variant","description":"#Available from v.3.5.0","parameters":[{"name":"id","in":"path","description":"Id of variant to get insights for","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.EnrichmentInsight.EntityEnrichmentInsight"}}}}}}}}}}
```

## Get Enrichment Insights for a batch of variants

> \#Available from v.3.5.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.EnrichmentInsight.EntityEnrichmentInsight":{"type":"object","properties":{"EnrichmentInsightSetupUid":{"type":"string","description":"Uid of enrichment insight","format":"uuid"},"EntityId":{"type":"integer","description":"Id of entity","format":"int32"},"Completeness":{"type":"integer","description":"Completeness in percentage (0 - 100). Is null, if ignored is true","format":"int32","nullable":true},"MissingData":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.EnrichmentInsight.InsightDataReference"},"description":"List of missing data for this entity to reach 100% completeness for this enrichment insight","nullable":true},"Ignored":{"type":"boolean","description":"Indicates whether the completeness is ignored for this entity and this enrichment insight"}},"additionalProperties":false,"description":"Model representing an entity's enrichment insight"},"Struct.App.Api.Models.EnrichmentInsight.InsightDataReference":{"type":"object","properties":{"Type":{"type":"string","description":"Type of data reference","nullable":true},"DataReference":{"type":"string","description":"The data reference itself","nullable":true}},"additionalProperties":false,"description":"Model representing an insights data reference"}}},"paths":{"/v1/variants/batch/enrichmentinsights":{"post":{"tags":["Variants"],"summary":"Get Enrichment Insights for a batch of variants","description":"#Available from v.3.5.0","requestBody":{"description":"Ids of variants to get insights for","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.EnrichmentInsight.EntityEnrichmentInsight"}}}}}}}}}}
```

## Get insights for a batch of variants and a specific Enrichment Insight

> \#Available from v.3.5.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}}},"paths":{"/v1/variants/batch/enrichmentinsights/{enrichmentInsightUid}":{"post":{"tags":["Variants"],"summary":"Get insights for a batch of variants and a specific Enrichment Insight","description":"#Available from v.3.5.0","parameters":[{"name":"enrichmentInsightUid","in":"path","description":"Uid of enrichment insight to get for batch of variants","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"description":"Ids of variants to get insights for","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}}}}
```

## Enable or disable an enrichment insight for a variant

> \#Available from v.3.5.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}}},"paths":{"/v1/variants/{id}/enrichmentinsights/{enrichmentInsightSetupUid}/{ignore}":{"patch":{"tags":["Variants"],"summary":"Enable or disable an enrichment insight for a variant","description":"#Available from v.3.5.0","parameters":[{"name":"id","in":"path","description":"Id of variant","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"enrichmentInsightSetupUid","in":"path","description":"Uid of enrichment insight to toggle ignore for","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"ignore","in":"path","description":"Indicate whether to ignore the insight for the given enrichment insight and variant","required":true,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK"}}}}}}
```

## Enable or disable an enrichment insight for a batch of variants

> \#Available from v.3.5.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}}},"paths":{"/v1/variants/batch/enrichmentinsights/{enrichmentInsightSetupUid}/{ignore}":{"patch":{"tags":["Variants"],"summary":"Enable or disable an enrichment insight for a batch of variants","description":"#Available from v.3.5.0","parameters":[{"name":"enrichmentInsightSetupUid","in":"path","description":"Uid of enrichment insight to toggle ignore for","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"ignore","in":"path","description":"Indicate whether to ignore the insight for the given enrichment insight and variants","required":true,"schema":{"type":"boolean"}}],"requestBody":{"description":"Ids of variants to toggle ignore for","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}},"responses":{"200":{"description":"OK"}}}}}}
```

## Get attributes which values are inherited from the product

> A maximum of 1000 products can be requested in one request

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Variants","description":"Variants are sub elements of products that define different variations a product exist in, ex. different colors, sizes etc.\r\nVariants cannot exist on its own as they need to be attached to a product.\r\nVariants have defining attributes which defines the attributes variants of a product vary on, ex. color and size, with and length etc."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Variant.InheritedAttributesRequestModel":{"type":"object","properties":{"ProductIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"The product ids to get inherited attributes for","nullable":true},"InheritedAttributes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"The attribute uids to get inherited attributes for","nullable":true}},"additionalProperties":false,"description":"Request model for getting inheritedAttributes for a list of products"},"Struct.App.Api.Models.Variant.InheritedAttributesResponseModel":{"type":"object","properties":{"ProductId":{"type":"integer","description":"The product id of the products that owns the attributeValues","format":"int32"},"VariantId":{"type":"integer","description":"The variant id that inherits the attributeValues","format":"int32"},"InheritedAttributes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"The attribute uids that are inherited","nullable":true}},"additionalProperties":false,"description":"Request model for getting inheritedAttributes for a list of products"}}},"paths":{"/v1/variants/inheritedAttributeValues":{"post":{"tags":["Variants"],"summary":"Get attributes which values are inherited from the product","description":"A maximum of 1000 products can be requested in one request","requestBody":{"description":"model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.InheritedAttributesRequestModel"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Variant.InheritedAttributesResponseModel"}}}}}}}}}}
```
