# 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}},"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"}}},"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}},"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"},"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}},"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"},"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}},"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"},"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"}}}}}}
```
