# AssetTypes

Asset types define models for assets in the system. Specifically, asset types define which properties are available on assets as well as how they are presented in the backoffice UI within tabs and sections.

## Get all asset types

> \#Available from v.4.0.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"AssetTypes","description":"Asset types define models for assets in the system. Specifically, asset types define which properties are available on assets\r\nas well as how they are presented in the backoffice UI within tabs and sections."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.AssetType.AssetTypeModel":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of asset type","format":"uuid"},"Alias":{"type":"string","description":"Unique human readable alias for the asset type","nullable":true},"Label":{"type":"string","description":"Label of asset type displayed in the backoffice","nullable":true},"Configuration":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetConfigurationModel"},"AllowedFileTypes":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetFileType"},"description":"The file types that are allowed to be uploaded to the asset type","nullable":true},"SpecifiedExtensions":{"type":"array","items":{"type":"string"},"description":"The file extensions that are allowed to be uploaded to the asset type (ex. jpg, png, pdf)\r\nOnly available when AssetFileType is set to SpecifiedExtensions","nullable":true},"HotspotDefinitions":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetHotspotDefinitionModel"},"description":"Available hotspot definitions for assets of this asset type","nullable":true}},"additionalProperties":false,"description":"Represents an asset type in the PIM system"},"Struct.App.Api.Models.AssetType.AssetConfigurationModel":{"type":"object","properties":{"Tabs":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.DataConfiguration.TabSetup"},"description":"The tabs that shall be shown on assets using this asset type in the backoffice","nullable":true}},"additionalProperties":false,"description":"The asset configuration defines the tabs, sections and properties available on a category as well as the wizard used for creating new categories."},"Struct.App.Api.Models.DataConfiguration.TabSetup":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of tab","format":"uuid"},"ViewPermission":{"type":"string","description":"Uid of permision required to view this tab","format":"uuid","nullable":true},"SavePermission":{"type":"string","description":"Uid of permission required to edit data on this tab","format":"uuid","nullable":true},"Type":{"type":"string","description":"The type of tab defining the actual implementation type of the abstract Tab","nullable":true,"readOnly":true}},"additionalProperties":false,"description":"Abstract representation of a Tab. Available implementations (Type's) are:\r\n      * VariantsTabSetup\r\n      * AttributesOnCategoryTabSetup\r\n      * ClassificationsTabSetup\r\n      * DynamicTabSetup"},"Struct.App.Api.Models.AssetType.AssetFileType":{"enum":[0,1,2,3,4,5],"type":"integer","description":"Asset file types \n\n- `0` = **Image**: Image file types\n- `1` = **Video**: Video file types\n- `2` = **Audio**: Audio file types\n- `3` = **Document**: Document file types\n- `4` = **All**: All file types are allowed\n- `5` = **SpecifiedExtensions**: Only specific file extensions are allowed, as defined in the SpecifiedExtensions list.","format":"int32"},"Struct.App.Api.Models.AssetType.AssetHotspotDefinitionModel":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of the hotspot definition","format":"uuid"},"Label":{"type":"string","description":"Label of the hotspot definition displayed in the backoffice","nullable":true},"AllowMultiple":{"type":"boolean","description":"Allows multiple hotspots of this type to be added to a single asset file"},"PositionType":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.HotspotPositionType"},"Attribute":{"$ref":"#/components/schemas/Struct.App.Api.Models.Attribute.ComplexAttribute"},"Created":{"type":"string","description":"Creation timestamp of the hotspot definition","format":"date-time"},"CreatedBy":{"type":"string","description":"Email of the user who created the hotspot definition","nullable":true},"LastModified":{"type":"string","description":"Timestamp of the last modification to the hotspot definition","format":"date-time"},"LastModifiedBy":{"type":"string","description":"Email of the user who last modified the hotspot definition","nullable":true}},"additionalProperties":false,"description":"Definition for a type of asset hotspots that can be added to assets of a specific asset type"},"Struct.App.Api.Models.AssetType.HotspotPositionType":{"enum":[0,1],"type":"integer","description":"Type of position data used for an asset hotspot \n\n- `0` = **Point**: A point position defined by X and Y coordinates\n- `1` = **Area**: An area position defined by X and Y coordinates along with width and height","format":"int32"},"Struct.App.Api.Models.Attribute.ComplexAttribute":{"type":"object","properties":{"SubAttributes":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Attribute.Attribute"},"description":"Sub attributes wrapped in this complex attribute","nullable":true},"RenderValuesForAttributeFieldUids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Uids of sub attributes to use when rendering an aggregate value for this complex attribute","nullable":true},"RenderValuesForBackofficeAttributeFieldUids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Uids of sub attributes to use when rendering an aggregate value for this complex attribute to show in the backoffice","nullable":true},"RenderedValueSeparator":{"type":"string","description":"Separator to use between sub attribute values when rendering an aggregate value for this complex attribute","nullable":true},"RenderedValueInBackofficeSeparator":{"type":"string","description":"Separator to use between sub attribute values when rendering an aggregate value for this complex attribute to show in the backoffice","nullable":true},"Uid":{"type":"string","description":"Unique id of attribute","format":"uuid"},"Alias":{"type":"string","description":"Unique alias of attribute. Max length is 50 characters and can only consist of letters a-z/A-Z and numbers 0-9 (but cannot start with a number)","nullable":true},"BackofficeName":{"type":"string","description":"The name of the attribute displayed to the editor in the PIM backoffice","nullable":true},"BackofficeDescription":{"type":"string","description":"The description of the attribute displayed to the editor in the PIM backoffice","nullable":true},"Name":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized name of the attribute usable for displaying the attribute name in ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"Description":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized description of the attribute usable for displaying a description for the attribute on ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"AttributeGroupUid":{"type":"string","description":"The id of the attribute group this attribute is placed within","format":"uuid","nullable":true},"AttributeScopes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Unique ids of the attribute scopes this attribute is placed within","nullable":true},"Localized":{"type":"boolean","description":"Indicates whether values of this attribute are localized"},"FallbackLanguage":{"type":"integer","description":"Indicates a fallback language in case attribute is localized and no value is added to a specific language","format":"int32","nullable":true},"DimensionUid":{"type":"string","description":"Unique id of Dimension to segment values of this attribute on","format":"uuid","nullable":true},"FallbackSegment":{"type":"string","description":"Indicates a fallback segment in case attribute is dimensioned and no value is added to a specific segment of that dimension","format":"uuid","nullable":true},"ReadOnly":{"type":"boolean","description":"Indicates whether this attribute is always readonly.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Mandatory":{"type":"boolean","description":"Indicates whether this attribute is always mandatory.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Columns":{"type":"integer","description":"The number of columns this attribute should span in the PIM backoffice (1-12)","format":"int32"},"Unchangeable":{"type":"boolean","description":"Indicates whether this attribute cannot change its value, once it has a value assigned.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"AttributeType":{"type":"string","description":"Type of attribute","nullable":true,"readOnly":true},"DisableRevisionLogging":{"type":"boolean","description":"Disable all revision logging for this attribute"},"DisableIndexing":{"type":"boolean","description":"Disable indexing for this attribute"},"MetaData":{"type":"object","additionalProperties":{"type":"string"},"description":"Save metadata for the attribute","nullable":true}},"additionalProperties":false,"description":"Attribute used to wrap one or more sub attributes"},"Struct.App.Api.Models.Attribute.Attribute":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of attribute","format":"uuid"},"Alias":{"type":"string","description":"Unique alias of attribute. Max length is 50 characters and can only consist of letters a-z/A-Z and numbers 0-9 (but cannot start with a number)","nullable":true},"BackofficeName":{"type":"string","description":"The name of the attribute displayed to the editor in the PIM backoffice","nullable":true},"BackofficeDescription":{"type":"string","description":"The description of the attribute displayed to the editor in the PIM backoffice","nullable":true},"Name":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized name of the attribute usable for displaying the attribute name in ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"Description":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized description of the attribute usable for displaying a description for the attribute on ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"AttributeGroupUid":{"type":"string","description":"The id of the attribute group this attribute is placed within","format":"uuid","nullable":true},"AttributeScopes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Unique ids of the attribute scopes this attribute is placed within","nullable":true},"Localized":{"type":"boolean","description":"Indicates whether values of this attribute are localized"},"FallbackLanguage":{"type":"integer","description":"Indicates a fallback language in case attribute is localized and no value is added to a specific language","format":"int32","nullable":true},"DimensionUid":{"type":"string","description":"Unique id of Dimension to segment values of this attribute on","format":"uuid","nullable":true},"FallbackSegment":{"type":"string","description":"Indicates a fallback segment in case attribute is dimensioned and no value is added to a specific segment of that dimension","format":"uuid","nullable":true},"ReadOnly":{"type":"boolean","description":"Indicates whether this attribute is always readonly.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Mandatory":{"type":"boolean","description":"Indicates whether this attribute is always mandatory.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Columns":{"type":"integer","description":"The number of columns this attribute should span in the PIM backoffice (1-12)","format":"int32"},"Unchangeable":{"type":"boolean","description":"Indicates whether this attribute cannot change its value, once it has a value assigned.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"AttributeType":{"type":"string","description":"Type of attribute","nullable":true,"readOnly":true},"DisableRevisionLogging":{"type":"boolean","description":"Disable all revision logging for this attribute"},"DisableIndexing":{"type":"boolean","description":"Disable indexing for this attribute"},"MetaData":{"type":"object","additionalProperties":{"type":"string"},"description":"Save metadata for the attribute","nullable":true}},"additionalProperties":false,"description":"Represents an attribute in Struct PIM which can be attached to product, variant or category data models"}}},"paths":{"/v1/assettypes":{"get":{"tags":["AssetTypes"],"summary":"Get all asset types","description":"#Available from v.4.0.0","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetTypeModel"}}}}}}}}}}
```

## Create new asset type

> \#Available from v.4.0.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"AssetTypes","description":"Asset types define models for assets in the system. Specifically, asset types define which properties are available on assets\r\nas well as how they are presented in the backoffice UI within tabs and sections."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.AssetType.AssetTypeModel":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of asset type","format":"uuid"},"Alias":{"type":"string","description":"Unique human readable alias for the asset type","nullable":true},"Label":{"type":"string","description":"Label of asset type displayed in the backoffice","nullable":true},"Configuration":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetConfigurationModel"},"AllowedFileTypes":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetFileType"},"description":"The file types that are allowed to be uploaded to the asset type","nullable":true},"SpecifiedExtensions":{"type":"array","items":{"type":"string"},"description":"The file extensions that are allowed to be uploaded to the asset type (ex. jpg, png, pdf)\r\nOnly available when AssetFileType is set to SpecifiedExtensions","nullable":true},"HotspotDefinitions":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetHotspotDefinitionModel"},"description":"Available hotspot definitions for assets of this asset type","nullable":true}},"additionalProperties":false,"description":"Represents an asset type in the PIM system"},"Struct.App.Api.Models.AssetType.AssetConfigurationModel":{"type":"object","properties":{"Tabs":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.DataConfiguration.TabSetup"},"description":"The tabs that shall be shown on assets using this asset type in the backoffice","nullable":true}},"additionalProperties":false,"description":"The asset configuration defines the tabs, sections and properties available on a category as well as the wizard used for creating new categories."},"Struct.App.Api.Models.DataConfiguration.TabSetup":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of tab","format":"uuid"},"ViewPermission":{"type":"string","description":"Uid of permision required to view this tab","format":"uuid","nullable":true},"SavePermission":{"type":"string","description":"Uid of permission required to edit data on this tab","format":"uuid","nullable":true},"Type":{"type":"string","description":"The type of tab defining the actual implementation type of the abstract Tab","nullable":true,"readOnly":true}},"additionalProperties":false,"description":"Abstract representation of a Tab. Available implementations (Type's) are:\r\n      * VariantsTabSetup\r\n      * AttributesOnCategoryTabSetup\r\n      * ClassificationsTabSetup\r\n      * DynamicTabSetup"},"Struct.App.Api.Models.AssetType.AssetFileType":{"enum":[0,1,2,3,4,5],"type":"integer","description":"Asset file types \n\n- `0` = **Image**: Image file types\n- `1` = **Video**: Video file types\n- `2` = **Audio**: Audio file types\n- `3` = **Document**: Document file types\n- `4` = **All**: All file types are allowed\n- `5` = **SpecifiedExtensions**: Only specific file extensions are allowed, as defined in the SpecifiedExtensions list.","format":"int32"},"Struct.App.Api.Models.AssetType.AssetHotspotDefinitionModel":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of the hotspot definition","format":"uuid"},"Label":{"type":"string","description":"Label of the hotspot definition displayed in the backoffice","nullable":true},"AllowMultiple":{"type":"boolean","description":"Allows multiple hotspots of this type to be added to a single asset file"},"PositionType":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.HotspotPositionType"},"Attribute":{"$ref":"#/components/schemas/Struct.App.Api.Models.Attribute.ComplexAttribute"},"Created":{"type":"string","description":"Creation timestamp of the hotspot definition","format":"date-time"},"CreatedBy":{"type":"string","description":"Email of the user who created the hotspot definition","nullable":true},"LastModified":{"type":"string","description":"Timestamp of the last modification to the hotspot definition","format":"date-time"},"LastModifiedBy":{"type":"string","description":"Email of the user who last modified the hotspot definition","nullable":true}},"additionalProperties":false,"description":"Definition for a type of asset hotspots that can be added to assets of a specific asset type"},"Struct.App.Api.Models.AssetType.HotspotPositionType":{"enum":[0,1],"type":"integer","description":"Type of position data used for an asset hotspot \n\n- `0` = **Point**: A point position defined by X and Y coordinates\n- `1` = **Area**: An area position defined by X and Y coordinates along with width and height","format":"int32"},"Struct.App.Api.Models.Attribute.ComplexAttribute":{"type":"object","properties":{"SubAttributes":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Attribute.Attribute"},"description":"Sub attributes wrapped in this complex attribute","nullable":true},"RenderValuesForAttributeFieldUids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Uids of sub attributes to use when rendering an aggregate value for this complex attribute","nullable":true},"RenderValuesForBackofficeAttributeFieldUids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Uids of sub attributes to use when rendering an aggregate value for this complex attribute to show in the backoffice","nullable":true},"RenderedValueSeparator":{"type":"string","description":"Separator to use between sub attribute values when rendering an aggregate value for this complex attribute","nullable":true},"RenderedValueInBackofficeSeparator":{"type":"string","description":"Separator to use between sub attribute values when rendering an aggregate value for this complex attribute to show in the backoffice","nullable":true},"Uid":{"type":"string","description":"Unique id of attribute","format":"uuid"},"Alias":{"type":"string","description":"Unique alias of attribute. Max length is 50 characters and can only consist of letters a-z/A-Z and numbers 0-9 (but cannot start with a number)","nullable":true},"BackofficeName":{"type":"string","description":"The name of the attribute displayed to the editor in the PIM backoffice","nullable":true},"BackofficeDescription":{"type":"string","description":"The description of the attribute displayed to the editor in the PIM backoffice","nullable":true},"Name":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized name of the attribute usable for displaying the attribute name in ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"Description":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized description of the attribute usable for displaying a description for the attribute on ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"AttributeGroupUid":{"type":"string","description":"The id of the attribute group this attribute is placed within","format":"uuid","nullable":true},"AttributeScopes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Unique ids of the attribute scopes this attribute is placed within","nullable":true},"Localized":{"type":"boolean","description":"Indicates whether values of this attribute are localized"},"FallbackLanguage":{"type":"integer","description":"Indicates a fallback language in case attribute is localized and no value is added to a specific language","format":"int32","nullable":true},"DimensionUid":{"type":"string","description":"Unique id of Dimension to segment values of this attribute on","format":"uuid","nullable":true},"FallbackSegment":{"type":"string","description":"Indicates a fallback segment in case attribute is dimensioned and no value is added to a specific segment of that dimension","format":"uuid","nullable":true},"ReadOnly":{"type":"boolean","description":"Indicates whether this attribute is always readonly.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Mandatory":{"type":"boolean","description":"Indicates whether this attribute is always mandatory.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Columns":{"type":"integer","description":"The number of columns this attribute should span in the PIM backoffice (1-12)","format":"int32"},"Unchangeable":{"type":"boolean","description":"Indicates whether this attribute cannot change its value, once it has a value assigned.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"AttributeType":{"type":"string","description":"Type of attribute","nullable":true,"readOnly":true},"DisableRevisionLogging":{"type":"boolean","description":"Disable all revision logging for this attribute"},"DisableIndexing":{"type":"boolean","description":"Disable indexing for this attribute"},"MetaData":{"type":"object","additionalProperties":{"type":"string"},"description":"Save metadata for the attribute","nullable":true}},"additionalProperties":false,"description":"Attribute used to wrap one or more sub attributes"},"Struct.App.Api.Models.Attribute.Attribute":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of attribute","format":"uuid"},"Alias":{"type":"string","description":"Unique alias of attribute. Max length is 50 characters and can only consist of letters a-z/A-Z and numbers 0-9 (but cannot start with a number)","nullable":true},"BackofficeName":{"type":"string","description":"The name of the attribute displayed to the editor in the PIM backoffice","nullable":true},"BackofficeDescription":{"type":"string","description":"The description of the attribute displayed to the editor in the PIM backoffice","nullable":true},"Name":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized name of the attribute usable for displaying the attribute name in ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"Description":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized description of the attribute usable for displaying a description for the attribute on ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"AttributeGroupUid":{"type":"string","description":"The id of the attribute group this attribute is placed within","format":"uuid","nullable":true},"AttributeScopes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Unique ids of the attribute scopes this attribute is placed within","nullable":true},"Localized":{"type":"boolean","description":"Indicates whether values of this attribute are localized"},"FallbackLanguage":{"type":"integer","description":"Indicates a fallback language in case attribute is localized and no value is added to a specific language","format":"int32","nullable":true},"DimensionUid":{"type":"string","description":"Unique id of Dimension to segment values of this attribute on","format":"uuid","nullable":true},"FallbackSegment":{"type":"string","description":"Indicates a fallback segment in case attribute is dimensioned and no value is added to a specific segment of that dimension","format":"uuid","nullable":true},"ReadOnly":{"type":"boolean","description":"Indicates whether this attribute is always readonly.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Mandatory":{"type":"boolean","description":"Indicates whether this attribute is always mandatory.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Columns":{"type":"integer","description":"The number of columns this attribute should span in the PIM backoffice (1-12)","format":"int32"},"Unchangeable":{"type":"boolean","description":"Indicates whether this attribute cannot change its value, once it has a value assigned.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"AttributeType":{"type":"string","description":"Type of attribute","nullable":true,"readOnly":true},"DisableRevisionLogging":{"type":"boolean","description":"Disable all revision logging for this attribute"},"DisableIndexing":{"type":"boolean","description":"Disable indexing for this attribute"},"MetaData":{"type":"object","additionalProperties":{"type":"string"},"description":"Save metadata for the attribute","nullable":true}},"additionalProperties":false,"description":"Represents an attribute in Struct PIM which can be attached to product, variant or category data models"},"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/assettypes":{"post":{"tags":["AssetTypes"],"summary":"Create new asset type","description":"#Available from v.4.0.0","requestBody":{"description":"Asset type to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetTypeModel"}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## Update an asset type

> \#Available from v.4.0.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"AssetTypes","description":"Asset types define models for assets in the system. Specifically, asset types define which properties are available on assets\r\nas well as how they are presented in the backoffice UI within tabs and sections."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.AssetType.AssetTypeModel":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of asset type","format":"uuid"},"Alias":{"type":"string","description":"Unique human readable alias for the asset type","nullable":true},"Label":{"type":"string","description":"Label of asset type displayed in the backoffice","nullable":true},"Configuration":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetConfigurationModel"},"AllowedFileTypes":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetFileType"},"description":"The file types that are allowed to be uploaded to the asset type","nullable":true},"SpecifiedExtensions":{"type":"array","items":{"type":"string"},"description":"The file extensions that are allowed to be uploaded to the asset type (ex. jpg, png, pdf)\r\nOnly available when AssetFileType is set to SpecifiedExtensions","nullable":true},"HotspotDefinitions":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetHotspotDefinitionModel"},"description":"Available hotspot definitions for assets of this asset type","nullable":true}},"additionalProperties":false,"description":"Represents an asset type in the PIM system"},"Struct.App.Api.Models.AssetType.AssetConfigurationModel":{"type":"object","properties":{"Tabs":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.DataConfiguration.TabSetup"},"description":"The tabs that shall be shown on assets using this asset type in the backoffice","nullable":true}},"additionalProperties":false,"description":"The asset configuration defines the tabs, sections and properties available on a category as well as the wizard used for creating new categories."},"Struct.App.Api.Models.DataConfiguration.TabSetup":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of tab","format":"uuid"},"ViewPermission":{"type":"string","description":"Uid of permision required to view this tab","format":"uuid","nullable":true},"SavePermission":{"type":"string","description":"Uid of permission required to edit data on this tab","format":"uuid","nullable":true},"Type":{"type":"string","description":"The type of tab defining the actual implementation type of the abstract Tab","nullable":true,"readOnly":true}},"additionalProperties":false,"description":"Abstract representation of a Tab. Available implementations (Type's) are:\r\n      * VariantsTabSetup\r\n      * AttributesOnCategoryTabSetup\r\n      * ClassificationsTabSetup\r\n      * DynamicTabSetup"},"Struct.App.Api.Models.AssetType.AssetFileType":{"enum":[0,1,2,3,4,5],"type":"integer","description":"Asset file types \n\n- `0` = **Image**: Image file types\n- `1` = **Video**: Video file types\n- `2` = **Audio**: Audio file types\n- `3` = **Document**: Document file types\n- `4` = **All**: All file types are allowed\n- `5` = **SpecifiedExtensions**: Only specific file extensions are allowed, as defined in the SpecifiedExtensions list.","format":"int32"},"Struct.App.Api.Models.AssetType.AssetHotspotDefinitionModel":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of the hotspot definition","format":"uuid"},"Label":{"type":"string","description":"Label of the hotspot definition displayed in the backoffice","nullable":true},"AllowMultiple":{"type":"boolean","description":"Allows multiple hotspots of this type to be added to a single asset file"},"PositionType":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.HotspotPositionType"},"Attribute":{"$ref":"#/components/schemas/Struct.App.Api.Models.Attribute.ComplexAttribute"},"Created":{"type":"string","description":"Creation timestamp of the hotspot definition","format":"date-time"},"CreatedBy":{"type":"string","description":"Email of the user who created the hotspot definition","nullable":true},"LastModified":{"type":"string","description":"Timestamp of the last modification to the hotspot definition","format":"date-time"},"LastModifiedBy":{"type":"string","description":"Email of the user who last modified the hotspot definition","nullable":true}},"additionalProperties":false,"description":"Definition for a type of asset hotspots that can be added to assets of a specific asset type"},"Struct.App.Api.Models.AssetType.HotspotPositionType":{"enum":[0,1],"type":"integer","description":"Type of position data used for an asset hotspot \n\n- `0` = **Point**: A point position defined by X and Y coordinates\n- `1` = **Area**: An area position defined by X and Y coordinates along with width and height","format":"int32"},"Struct.App.Api.Models.Attribute.ComplexAttribute":{"type":"object","properties":{"SubAttributes":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Attribute.Attribute"},"description":"Sub attributes wrapped in this complex attribute","nullable":true},"RenderValuesForAttributeFieldUids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Uids of sub attributes to use when rendering an aggregate value for this complex attribute","nullable":true},"RenderValuesForBackofficeAttributeFieldUids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Uids of sub attributes to use when rendering an aggregate value for this complex attribute to show in the backoffice","nullable":true},"RenderedValueSeparator":{"type":"string","description":"Separator to use between sub attribute values when rendering an aggregate value for this complex attribute","nullable":true},"RenderedValueInBackofficeSeparator":{"type":"string","description":"Separator to use between sub attribute values when rendering an aggregate value for this complex attribute to show in the backoffice","nullable":true},"Uid":{"type":"string","description":"Unique id of attribute","format":"uuid"},"Alias":{"type":"string","description":"Unique alias of attribute. Max length is 50 characters and can only consist of letters a-z/A-Z and numbers 0-9 (but cannot start with a number)","nullable":true},"BackofficeName":{"type":"string","description":"The name of the attribute displayed to the editor in the PIM backoffice","nullable":true},"BackofficeDescription":{"type":"string","description":"The description of the attribute displayed to the editor in the PIM backoffice","nullable":true},"Name":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized name of the attribute usable for displaying the attribute name in ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"Description":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized description of the attribute usable for displaying a description for the attribute on ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"AttributeGroupUid":{"type":"string","description":"The id of the attribute group this attribute is placed within","format":"uuid","nullable":true},"AttributeScopes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Unique ids of the attribute scopes this attribute is placed within","nullable":true},"Localized":{"type":"boolean","description":"Indicates whether values of this attribute are localized"},"FallbackLanguage":{"type":"integer","description":"Indicates a fallback language in case attribute is localized and no value is added to a specific language","format":"int32","nullable":true},"DimensionUid":{"type":"string","description":"Unique id of Dimension to segment values of this attribute on","format":"uuid","nullable":true},"FallbackSegment":{"type":"string","description":"Indicates a fallback segment in case attribute is dimensioned and no value is added to a specific segment of that dimension","format":"uuid","nullable":true},"ReadOnly":{"type":"boolean","description":"Indicates whether this attribute is always readonly.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Mandatory":{"type":"boolean","description":"Indicates whether this attribute is always mandatory.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Columns":{"type":"integer","description":"The number of columns this attribute should span in the PIM backoffice (1-12)","format":"int32"},"Unchangeable":{"type":"boolean","description":"Indicates whether this attribute cannot change its value, once it has a value assigned.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"AttributeType":{"type":"string","description":"Type of attribute","nullable":true,"readOnly":true},"DisableRevisionLogging":{"type":"boolean","description":"Disable all revision logging for this attribute"},"DisableIndexing":{"type":"boolean","description":"Disable indexing for this attribute"},"MetaData":{"type":"object","additionalProperties":{"type":"string"},"description":"Save metadata for the attribute","nullable":true}},"additionalProperties":false,"description":"Attribute used to wrap one or more sub attributes"},"Struct.App.Api.Models.Attribute.Attribute":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of attribute","format":"uuid"},"Alias":{"type":"string","description":"Unique alias of attribute. Max length is 50 characters and can only consist of letters a-z/A-Z and numbers 0-9 (but cannot start with a number)","nullable":true},"BackofficeName":{"type":"string","description":"The name of the attribute displayed to the editor in the PIM backoffice","nullable":true},"BackofficeDescription":{"type":"string","description":"The description of the attribute displayed to the editor in the PIM backoffice","nullable":true},"Name":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized name of the attribute usable for displaying the attribute name in ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"Description":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized description of the attribute usable for displaying a description for the attribute on ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"AttributeGroupUid":{"type":"string","description":"The id of the attribute group this attribute is placed within","format":"uuid","nullable":true},"AttributeScopes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Unique ids of the attribute scopes this attribute is placed within","nullable":true},"Localized":{"type":"boolean","description":"Indicates whether values of this attribute are localized"},"FallbackLanguage":{"type":"integer","description":"Indicates a fallback language in case attribute is localized and no value is added to a specific language","format":"int32","nullable":true},"DimensionUid":{"type":"string","description":"Unique id of Dimension to segment values of this attribute on","format":"uuid","nullable":true},"FallbackSegment":{"type":"string","description":"Indicates a fallback segment in case attribute is dimensioned and no value is added to a specific segment of that dimension","format":"uuid","nullable":true},"ReadOnly":{"type":"boolean","description":"Indicates whether this attribute is always readonly.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Mandatory":{"type":"boolean","description":"Indicates whether this attribute is always mandatory.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Columns":{"type":"integer","description":"The number of columns this attribute should span in the PIM backoffice (1-12)","format":"int32"},"Unchangeable":{"type":"boolean","description":"Indicates whether this attribute cannot change its value, once it has a value assigned.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"AttributeType":{"type":"string","description":"Type of attribute","nullable":true,"readOnly":true},"DisableRevisionLogging":{"type":"boolean","description":"Disable all revision logging for this attribute"},"DisableIndexing":{"type":"boolean","description":"Disable indexing for this attribute"},"MetaData":{"type":"object","additionalProperties":{"type":"string"},"description":"Save metadata for the attribute","nullable":true}},"additionalProperties":false,"description":"Represents an attribute in Struct PIM which can be attached to product, variant or category data models"},"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/assettypes":{"put":{"tags":["AssetTypes"],"summary":"Update an asset type","description":"#Available from v.4.0.0","requestBody":{"description":"Updated asset type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetTypeModel"}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## Get an asset type

> \#Available from v.4.0.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"AssetTypes","description":"Asset types define models for assets in the system. Specifically, asset types define which properties are available on assets\r\nas well as how they are presented in the backoffice UI within tabs and sections."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.AssetType.AssetTypeModel":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of asset type","format":"uuid"},"Alias":{"type":"string","description":"Unique human readable alias for the asset type","nullable":true},"Label":{"type":"string","description":"Label of asset type displayed in the backoffice","nullable":true},"Configuration":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetConfigurationModel"},"AllowedFileTypes":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetFileType"},"description":"The file types that are allowed to be uploaded to the asset type","nullable":true},"SpecifiedExtensions":{"type":"array","items":{"type":"string"},"description":"The file extensions that are allowed to be uploaded to the asset type (ex. jpg, png, pdf)\r\nOnly available when AssetFileType is set to SpecifiedExtensions","nullable":true},"HotspotDefinitions":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetHotspotDefinitionModel"},"description":"Available hotspot definitions for assets of this asset type","nullable":true}},"additionalProperties":false,"description":"Represents an asset type in the PIM system"},"Struct.App.Api.Models.AssetType.AssetConfigurationModel":{"type":"object","properties":{"Tabs":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.DataConfiguration.TabSetup"},"description":"The tabs that shall be shown on assets using this asset type in the backoffice","nullable":true}},"additionalProperties":false,"description":"The asset configuration defines the tabs, sections and properties available on a category as well as the wizard used for creating new categories."},"Struct.App.Api.Models.DataConfiguration.TabSetup":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of tab","format":"uuid"},"ViewPermission":{"type":"string","description":"Uid of permision required to view this tab","format":"uuid","nullable":true},"SavePermission":{"type":"string","description":"Uid of permission required to edit data on this tab","format":"uuid","nullable":true},"Type":{"type":"string","description":"The type of tab defining the actual implementation type of the abstract Tab","nullable":true,"readOnly":true}},"additionalProperties":false,"description":"Abstract representation of a Tab. Available implementations (Type's) are:\r\n      * VariantsTabSetup\r\n      * AttributesOnCategoryTabSetup\r\n      * ClassificationsTabSetup\r\n      * DynamicTabSetup"},"Struct.App.Api.Models.AssetType.AssetFileType":{"enum":[0,1,2,3,4,5],"type":"integer","description":"Asset file types \n\n- `0` = **Image**: Image file types\n- `1` = **Video**: Video file types\n- `2` = **Audio**: Audio file types\n- `3` = **Document**: Document file types\n- `4` = **All**: All file types are allowed\n- `5` = **SpecifiedExtensions**: Only specific file extensions are allowed, as defined in the SpecifiedExtensions list.","format":"int32"},"Struct.App.Api.Models.AssetType.AssetHotspotDefinitionModel":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of the hotspot definition","format":"uuid"},"Label":{"type":"string","description":"Label of the hotspot definition displayed in the backoffice","nullable":true},"AllowMultiple":{"type":"boolean","description":"Allows multiple hotspots of this type to be added to a single asset file"},"PositionType":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.HotspotPositionType"},"Attribute":{"$ref":"#/components/schemas/Struct.App.Api.Models.Attribute.ComplexAttribute"},"Created":{"type":"string","description":"Creation timestamp of the hotspot definition","format":"date-time"},"CreatedBy":{"type":"string","description":"Email of the user who created the hotspot definition","nullable":true},"LastModified":{"type":"string","description":"Timestamp of the last modification to the hotspot definition","format":"date-time"},"LastModifiedBy":{"type":"string","description":"Email of the user who last modified the hotspot definition","nullable":true}},"additionalProperties":false,"description":"Definition for a type of asset hotspots that can be added to assets of a specific asset type"},"Struct.App.Api.Models.AssetType.HotspotPositionType":{"enum":[0,1],"type":"integer","description":"Type of position data used for an asset hotspot \n\n- `0` = **Point**: A point position defined by X and Y coordinates\n- `1` = **Area**: An area position defined by X and Y coordinates along with width and height","format":"int32"},"Struct.App.Api.Models.Attribute.ComplexAttribute":{"type":"object","properties":{"SubAttributes":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Attribute.Attribute"},"description":"Sub attributes wrapped in this complex attribute","nullable":true},"RenderValuesForAttributeFieldUids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Uids of sub attributes to use when rendering an aggregate value for this complex attribute","nullable":true},"RenderValuesForBackofficeAttributeFieldUids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Uids of sub attributes to use when rendering an aggregate value for this complex attribute to show in the backoffice","nullable":true},"RenderedValueSeparator":{"type":"string","description":"Separator to use between sub attribute values when rendering an aggregate value for this complex attribute","nullable":true},"RenderedValueInBackofficeSeparator":{"type":"string","description":"Separator to use between sub attribute values when rendering an aggregate value for this complex attribute to show in the backoffice","nullable":true},"Uid":{"type":"string","description":"Unique id of attribute","format":"uuid"},"Alias":{"type":"string","description":"Unique alias of attribute. Max length is 50 characters and can only consist of letters a-z/A-Z and numbers 0-9 (but cannot start with a number)","nullable":true},"BackofficeName":{"type":"string","description":"The name of the attribute displayed to the editor in the PIM backoffice","nullable":true},"BackofficeDescription":{"type":"string","description":"The description of the attribute displayed to the editor in the PIM backoffice","nullable":true},"Name":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized name of the attribute usable for displaying the attribute name in ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"Description":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized description of the attribute usable for displaying a description for the attribute on ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"AttributeGroupUid":{"type":"string","description":"The id of the attribute group this attribute is placed within","format":"uuid","nullable":true},"AttributeScopes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Unique ids of the attribute scopes this attribute is placed within","nullable":true},"Localized":{"type":"boolean","description":"Indicates whether values of this attribute are localized"},"FallbackLanguage":{"type":"integer","description":"Indicates a fallback language in case attribute is localized and no value is added to a specific language","format":"int32","nullable":true},"DimensionUid":{"type":"string","description":"Unique id of Dimension to segment values of this attribute on","format":"uuid","nullable":true},"FallbackSegment":{"type":"string","description":"Indicates a fallback segment in case attribute is dimensioned and no value is added to a specific segment of that dimension","format":"uuid","nullable":true},"ReadOnly":{"type":"boolean","description":"Indicates whether this attribute is always readonly.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Mandatory":{"type":"boolean","description":"Indicates whether this attribute is always mandatory.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Columns":{"type":"integer","description":"The number of columns this attribute should span in the PIM backoffice (1-12)","format":"int32"},"Unchangeable":{"type":"boolean","description":"Indicates whether this attribute cannot change its value, once it has a value assigned.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"AttributeType":{"type":"string","description":"Type of attribute","nullable":true,"readOnly":true},"DisableRevisionLogging":{"type":"boolean","description":"Disable all revision logging for this attribute"},"DisableIndexing":{"type":"boolean","description":"Disable indexing for this attribute"},"MetaData":{"type":"object","additionalProperties":{"type":"string"},"description":"Save metadata for the attribute","nullable":true}},"additionalProperties":false,"description":"Attribute used to wrap one or more sub attributes"},"Struct.App.Api.Models.Attribute.Attribute":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of attribute","format":"uuid"},"Alias":{"type":"string","description":"Unique alias of attribute. Max length is 50 characters and can only consist of letters a-z/A-Z and numbers 0-9 (but cannot start with a number)","nullable":true},"BackofficeName":{"type":"string","description":"The name of the attribute displayed to the editor in the PIM backoffice","nullable":true},"BackofficeDescription":{"type":"string","description":"The description of the attribute displayed to the editor in the PIM backoffice","nullable":true},"Name":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized name of the attribute usable for displaying the attribute name in ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"Description":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"The localized description of the attribute usable for displaying a description for the attribute on ex. a webshop (Dictionary of ISO culturecode and localized value)","nullable":true},"AttributeGroupUid":{"type":"string","description":"The id of the attribute group this attribute is placed within","format":"uuid","nullable":true},"AttributeScopes":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Unique ids of the attribute scopes this attribute is placed within","nullable":true},"Localized":{"type":"boolean","description":"Indicates whether values of this attribute are localized"},"FallbackLanguage":{"type":"integer","description":"Indicates a fallback language in case attribute is localized and no value is added to a specific language","format":"int32","nullable":true},"DimensionUid":{"type":"string","description":"Unique id of Dimension to segment values of this attribute on","format":"uuid","nullable":true},"FallbackSegment":{"type":"string","description":"Indicates a fallback segment in case attribute is dimensioned and no value is added to a specific segment of that dimension","format":"uuid","nullable":true},"ReadOnly":{"type":"boolean","description":"Indicates whether this attribute is always readonly.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Mandatory":{"type":"boolean","description":"Indicates whether this attribute is always mandatory.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"Columns":{"type":"integer","description":"The number of columns this attribute should span in the PIM backoffice (1-12)","format":"int32"},"Unchangeable":{"type":"boolean","description":"Indicates whether this attribute cannot change its value, once it has a value assigned.\r\nNOTE: Only applied when attribute is a sub attribute of a complex attribute."},"AttributeType":{"type":"string","description":"Type of attribute","nullable":true,"readOnly":true},"DisableRevisionLogging":{"type":"boolean","description":"Disable all revision logging for this attribute"},"DisableIndexing":{"type":"boolean","description":"Disable indexing for this attribute"},"MetaData":{"type":"object","additionalProperties":{"type":"string"},"description":"Save metadata for the attribute","nullable":true}},"additionalProperties":false,"description":"Represents an attribute in Struct PIM which can be attached to product, variant or category data models"},"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/assettypes/{uid}":{"get":{"tags":["AssetTypes"],"summary":"Get an asset type","description":"#Available from v.4.0.0","parameters":[{"name":"uid","in":"path","description":"Unique id of asset type","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.AssetType.AssetTypeModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## Delete an asset type

> \#Available from v.4.0.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"AssetTypes","description":"Asset types define models for assets in the system. Specifically, asset types define which properties are available on assets\r\nas well as how they are presented in the backoffice UI within tabs and sections."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}}},"paths":{"/v1/assettypes/{uid}":{"delete":{"tags":["AssetTypes"],"summary":"Delete an asset type","description":"#Available from v.4.0.0","parameters":[{"name":"uid","in":"path","description":"Unique id of asset type to delete","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.struct.com/api-reference/endpoints/assettypes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
