# Miscellaneous

The Miscellaneous endpoints allows you to get general information about the status of the API and the PIM installation as well as the ability to manage objects which are shared between entities in Struct PIM.

## GET /v1/Version

> Get currently running PIM Version

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Miscellaneous","description":"The Miscellaneous endpoints allows you to get general information about the status of the API and the PIM installation as well as the\r\nability to manage objects which are shared between entities in Struct PIM."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Misc.PIMVersion":{"type":"object","properties":{"VersionNumber":{"type":"string","description":"Version number","nullable":true}},"additionalProperties":false,"description":"PIM version"}}},"paths":{"/v1/Version":{"get":{"tags":["Miscellaneous"],"summary":"Get currently running PIM Version","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Misc.PIMVersion"}}}}}}}}}
```

## Get an indication if the API is alive

> Returns "Is alive", if API is running correctly

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Miscellaneous","description":"The Miscellaneous endpoints allows you to get general information about the status of the API and the PIM installation as well as the\r\nability to manage objects which are shared between entities in Struct PIM."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Misc.Heartbeat":{"type":"object","properties":{"Message":{"type":"string","description":"Message","nullable":true}},"additionalProperties":false,"description":"Heartbeat"}}},"paths":{"/v1/Heartbeat":{"get":{"tags":["Miscellaneous"],"summary":"Get an indication if the API is alive","description":"Returns \"Is alive\", if API is running correctly","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Misc.Heartbeat"}}}}}}}}}
```

## Get all archive reasons

> \#Available from v.3.3.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Miscellaneous","description":"The Miscellaneous endpoints allows you to get general information about the status of the API and the PIM installation as well as the\r\nability to manage objects which are shared between entities in Struct PIM."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.ArchiveReason.ArchiveReason":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of archive reason","format":"uuid"},"Name":{"type":"string","description":"Presented name of archive reason","nullable":true}},"additionalProperties":false,"description":"An archive reason defines a reason that can be chosen when archiving products or variants in the system"}}},"paths":{"/v1/misc/archivereasons":{"get":{"tags":["Miscellaneous"],"summary":"Get all archive reasons","description":"#Available from v.3.3.0","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ArchiveReason.ArchiveReason"}}}}}}}}}}
```

## Create new archive reason

> \#Available from v.3.3.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Miscellaneous","description":"The Miscellaneous endpoints allows you to get general information about the status of the API and the PIM installation as well as the\r\nability to manage objects which are shared between entities in Struct PIM."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.ArchiveReason.ArchiveReason":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of archive reason","format":"uuid"},"Name":{"type":"string","description":"Presented name of archive reason","nullable":true}},"additionalProperties":false,"description":"An archive reason defines a reason that can be chosen when archiving products or variants in the system"}}},"paths":{"/v1/misc/archivereasons":{"post":{"tags":["Miscellaneous"],"summary":"Create new archive reason","description":"#Available from v.3.3.0","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.ArchiveReason.ArchiveReason"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.ArchiveReason.ArchiveReason"}}}}}}}}}
```

## Update archive reason

> \#Available from v.3.3.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Miscellaneous","description":"The Miscellaneous endpoints allows you to get general information about the status of the API and the PIM installation as well as the\r\nability to manage objects which are shared between entities in Struct PIM."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.ArchiveReason.ArchiveReason":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of archive reason","format":"uuid"},"Name":{"type":"string","description":"Presented name of archive reason","nullable":true}},"additionalProperties":false,"description":"An archive reason defines a reason that can be chosen when archiving products or variants in the system"}}},"paths":{"/v1/misc/archivereasons":{"put":{"tags":["Miscellaneous"],"summary":"Update archive reason","description":"#Available from v.3.3.0","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.ArchiveReason.ArchiveReason"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.ArchiveReason.ArchiveReason"}}}}}}}}}
```

## Get an archive reason

> \#Available from v.3.3.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Miscellaneous","description":"The Miscellaneous endpoints allows you to get general information about the status of the API and the PIM installation as well as the\r\nability to manage objects which are shared between entities in Struct PIM."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.ArchiveReason.ArchiveReason":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id of archive reason","format":"uuid"},"Name":{"type":"string","description":"Presented name of archive reason","nullable":true}},"additionalProperties":false,"description":"An archive reason defines a reason that can be chosen when archiving products or variants in the system"}}},"paths":{"/v1/misc/archivereasons/{uid}":{"get":{"tags":["Miscellaneous"],"summary":"Get an archive reason","description":"#Available from v.3.3.0","parameters":[{"name":"uid","in":"path","description":"Id of archive reason","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.ArchiveReason.ArchiveReason"}}}}}}}}}
```

## Delete an archive reason

> \#Available from v.3.3.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Miscellaneous","description":"The Miscellaneous endpoints allows you to get general information about the status of the API and the PIM installation as well as the\r\nability to manage objects which are shared between entities in Struct PIM."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}}},"paths":{"/v1/misc/archivereasons/{uid}":{"delete":{"tags":["Miscellaneous"],"summary":"Delete an archive reason","description":"#Available from v.3.3.0","parameters":[{"name":"uid","in":"path","description":"Id of archive reason","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}}}}
```

## Get model definitions for products, variants, categories and global lists

> \#Available from v.3.2.0> \
> Get complete the model descriptions for products, variants and categories, usable for migration tools, Model classes scaffolding etc.

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Miscellaneous","description":"The Miscellaneous endpoints allows you to get general information about the status of the API and the PIM installation as well as the\r\nability to manage objects which are shared between entities in Struct PIM."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.ModelGenerator.ModelStructure":{"type":"object","properties":{"ProductModels":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure_ProductModelSetup"},"description":"Product models","nullable":true},"VariantModels":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure_VariantModelSetup"},"description":"Variant models","nullable":true},"CategoryModels":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure_CategoryModelSetup"},"description":"Category models","nullable":true},"VariantGroupModels":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure_VariantGroupModelSetup"},"description":"Variant group models","nullable":true},"GlobalListModels":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure_AttributeModel"},"description":"Global list models","nullable":true},"CategoryAttributeModels":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure_AttributeModel"},"description":"Category attribute models","nullable":true}},"additionalProperties":false,"description":"Model structure"},"Struct.App.Api.Models.ModelGenerator.ModelStructure_ProductModelSetup":{"type":"object","properties":{"Alias":{"type":"string","nullable":true},"Properties":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure_AttributeModel"},"nullable":true}},"additionalProperties":false,"description":"Product model setup"},"Struct.App.Api.Models.ModelGenerator.ModelStructure_AttributeModel":{"type":"object","properties":{"Alias":{"type":"string","description":"Alias of attribute","nullable":true},"DataType":{"type":"string","description":"Data type of attribute","nullable":true},"Localized":{"type":"boolean","description":"Is attribute localized"},"IsMultiValue":{"type":"boolean","description":"Is attribute multi value"},"DimensionSpecific":{"type":"boolean","description":"Is attribute dimension specific"},"ReferencedAttribute":{"type":"string","description":"Referenced attribute","nullable":true},"Properties":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure_AttributeModel"},"description":"Sub attributes","nullable":true},"Name":{"type":"string","description":"Name of attribute","nullable":true},"Description":{"type":"string","description":"Description of attribute","nullable":true}},"additionalProperties":false,"description":"Attribute model"},"Struct.App.Api.Models.ModelGenerator.ModelStructure_VariantModelSetup":{"type":"object","properties":{"Alias":{"type":"string","description":"Alias","nullable":true},"Properties":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure_AttributeModel"},"description":"Properties","nullable":true}},"additionalProperties":false,"description":"Variant model setup"},"Struct.App.Api.Models.ModelGenerator.ModelStructure_CategoryModelSetup":{"type":"object","properties":{"Alias":{"type":"string","description":"Alias","nullable":true},"Properties":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure_AttributeModel"},"description":"Properties","nullable":true}},"additionalProperties":false,"description":"Category model setup"},"Struct.App.Api.Models.ModelGenerator.ModelStructure_VariantGroupModelSetup":{"type":"object","properties":{"Alias":{"type":"string","description":"Alias","nullable":true},"Properties":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure_AttributeModel"},"description":"Properties","nullable":true}},"additionalProperties":false,"description":"Variant group model setup"}}},"paths":{"/v1/misc/models":{"get":{"tags":["Miscellaneous"],"summary":"Get model definitions for products, variants, categories and global lists","description":"#Available from v.3.2.0\r\nGet complete the model descriptions for products, variants and categories, usable for migration tools, Model classes scaffolding etc.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.ModelGenerator.ModelStructure"}}}}}}}}}
```
