# SavedSearch

Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access. The saved searches can also be referenced in widgets to display current status of PIM data.

## GET /v1/savedsearchfolders/{folderUid}

> Gets the specified saved search folder

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Search.SavedSearchFolderModel":{"type":"object","properties":{"OwnerUserUid":{"type":"string","description":"useruid of a potential owner","nullable":true},"Created":{"type":"string","description":"The created datetime in UTC time","format":"date-time"},"LastModified":{"type":"string","description":"The last modified time in UTC time","format":"date-time"},"CreatedBy":{"type":"string","description":"The userUid of the user who originally created the folder","nullable":true},"LastModifiedBy":{"type":"string","description":"The userUid of the user who last modified the folder\r\nIf recently created, this is the same as created by","nullable":true},"Uid":{"type":"string","description":"The Uid of the folder","format":"uuid"},"ParentUid":{"type":"string","description":"Uid of parent folder","format":"uuid","nullable":true},"Name":{"type":"string","description":"Name of the folder","nullable":true},"SortOrder":{"type":"integer","description":"Sortorder for folders","format":"int32"}},"additionalProperties":false,"description":"Model of the saved search folder"},"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/savedsearchfolders/{folderUid}":{"get":{"tags":["SavedSearch"],"summary":"Gets the specified saved search folder","parameters":[{"name":"folderUid","in":"path","description":"The uid of the folder","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchFolderModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## POST /v1/savedsearchfolders/batch

> Get the specified saved search folders

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Search.SavedSearchFolderModel":{"type":"object","properties":{"OwnerUserUid":{"type":"string","description":"useruid of a potential owner","nullable":true},"Created":{"type":"string","description":"The created datetime in UTC time","format":"date-time"},"LastModified":{"type":"string","description":"The last modified time in UTC time","format":"date-time"},"CreatedBy":{"type":"string","description":"The userUid of the user who originally created the folder","nullable":true},"LastModifiedBy":{"type":"string","description":"The userUid of the user who last modified the folder\r\nIf recently created, this is the same as created by","nullable":true},"Uid":{"type":"string","description":"The Uid of the folder","format":"uuid"},"ParentUid":{"type":"string","description":"Uid of parent folder","format":"uuid","nullable":true},"Name":{"type":"string","description":"Name of the folder","nullable":true},"SortOrder":{"type":"integer","description":"Sortorder for folders","format":"int32"}},"additionalProperties":false,"description":"Model of the saved search folder"},"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/savedsearchfolders/batch":{"post":{"tags":["SavedSearch"],"summary":"Get the specified saved search folders","requestBody":{"description":"Uids of the folders","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchFolderModel"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## GET /v1/savedsearchfolders

> Gets all saved search folders

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Search.SavedSearchFolderModel":{"type":"object","properties":{"OwnerUserUid":{"type":"string","description":"useruid of a potential owner","nullable":true},"Created":{"type":"string","description":"The created datetime in UTC time","format":"date-time"},"LastModified":{"type":"string","description":"The last modified time in UTC time","format":"date-time"},"CreatedBy":{"type":"string","description":"The userUid of the user who originally created the folder","nullable":true},"LastModifiedBy":{"type":"string","description":"The userUid of the user who last modified the folder\r\nIf recently created, this is the same as created by","nullable":true},"Uid":{"type":"string","description":"The Uid of the folder","format":"uuid"},"ParentUid":{"type":"string","description":"Uid of parent folder","format":"uuid","nullable":true},"Name":{"type":"string","description":"Name of the folder","nullable":true},"SortOrder":{"type":"integer","description":"Sortorder for folders","format":"int32"}},"additionalProperties":false,"description":"Model of the saved search folder"},"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/savedsearchfolders":{"get":{"tags":["SavedSearch"],"summary":"Gets all saved search folders","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchFolderModel"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## POST /v1/savedsearchfolders

> Create a single saved search folder

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Search.CreateSavedSearchFolderModel":{"type":"object","properties":{"OwnerUserUid":{"type":"string","description":"Uid of the owner of the saved search folder. If null, the folder is available to all users","nullable":true},"Uid":{"type":"string","description":"The Uid of the folder","format":"uuid"},"ParentUid":{"type":"string","description":"Uid of parent folder","format":"uuid","nullable":true},"Name":{"type":"string","description":"Name of the folder","nullable":true},"SortOrder":{"type":"integer","description":"Sortorder for folders","format":"int32"}},"additionalProperties":false,"description":"Used to create a new saved search folder"},"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/savedsearchfolders":{"post":{"tags":["SavedSearch"],"summary":"Create a single saved search folder","requestBody":{"description":"Struct.App.Api.Models.Search.CreateSavedSearchFolderModel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.CreateSavedSearchFolderModel"}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## PATCH /v1/savedsearchfolders

> Updates a saved search folder

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Search.UpdateSavedSearchFolderModel":{"type":"object","properties":{"Uid":{"type":"string","description":"The Uid of the folder","format":"uuid"},"ParentUid":{"type":"string","description":"Uid of parent folder","format":"uuid","nullable":true},"Name":{"type":"string","description":"Name of the folder","nullable":true},"SortOrder":{"type":"integer","description":"Sortorder for folders","format":"int32"}},"additionalProperties":false,"description":"Model used to update saved search folder"},"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/savedsearchfolders":{"patch":{"tags":["SavedSearch"],"summary":"Updates a saved search folder","requestBody":{"description":"Model of folder to update Struct.App.Api.Models.Search.UpdateSavedSearchFolderModel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.UpdateSavedSearchFolderModel"}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## DELETE /v1/SavedSearchFolders/{folderUid}

> Deletes a saved search folder

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"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/SavedSearchFolders/{folderUid}":{"delete":{"tags":["SavedSearch"],"summary":"Deletes a saved search folder","parameters":[{"name":"folderUid","in":"path","description":"the uid of the folder","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## GET /v1/savedsearches/{uid}

> Get a specific search

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Search.SavedSearchModel":{"type":"object","properties":{"Uid":{"type":"string","description":"The uid of the saved search","format":"uuid"},"Created":{"type":"string","description":"The created time in UTC time","format":"date-time"},"CreatedBy":{"type":"string","description":"The user who created the safe search","nullable":true},"LastMofidied":{"type":"string","description":"The last modified time in UTC time\r\n<remarks>Same as created time if the saved search hasn't been modified</remarks>","format":"date-time"},"LastModifiedBy":{"type":"string","description":"The user who last modified the saved search\r\n<remarks>Same as createdBy if the saved search hasn't been modified</remarks>","nullable":true},"OwnerUserUid":{"type":"string","description":"Potential owner of the saved search","nullable":true},"FailedCalculationCounter":{"type":"integer","description":"The number of times this saved search has failed","format":"int32"},"FailedMessage":{"type":"string","description":"The message describing why this saved search has failed","nullable":true},"Name":{"type":"string","description":"Name of the saved search","nullable":true},"SearchEntityTypeModel":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchEntityTypeModel"},"GlobalListUid":{"type":"string","description":"Globallist uid of referencing globallist","format":"uuid","nullable":true},"FolderUid":{"type":"string","description":"Folder id of the saved search","format":"uuid","nullable":true},"Query":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.QueryModel"},"SortOrder":{"type":"integer","description":"Sortorder of the saved search","format":"int32"},"ViewColumns":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchColumnModel"},"description":"The settings for the columns in the ui","nullable":true},"EnableTimeline":{"type":"boolean","description":"Whether or not to enable the timeline"},"TimelineBusinessUnits":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Business unit limitation for timeline calculation","nullable":true}},"additionalProperties":false,"description":"The saved search api model"},"Struct.App.Api.Models.Search.SavedSearchEntityTypeModel":{"enum":[1,2,3,4,5,6],"type":"integer","description":"The type of saved search \n\n- `1` = **Category**: Category type\n- `2` = **Product**: Product type\n- `3` = **VariantGroup**: VariantGroup type\n- `4` = **Variant**: Variant type\n- `5` = **Asset**: Asset type\n- `6` = **GlobalList**: Globallist type","format":"int32"},"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.Search.SavedSearchColumnModel":{"type":"object","properties":{"FieldUid":{"type":"string","description":"Uid of the column","nullable":true},"Width":{"type":"integer","description":"Width of the column","format":"int32","nullable":true}},"additionalProperties":false,"description":"Saved search column size in the UI"},"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/savedsearches/{uid}":{"get":{"tags":["SavedSearch"],"summary":"Get a specific search","parameters":[{"name":"uid","in":"path","description":"The uid of the saved search","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## DELETE /v1/savedsearches/{uid}

> Deletes a saved search from the system

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"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/savedsearches/{uid}":{"delete":{"tags":["SavedSearch"],"summary":"Deletes a saved search from the system","parameters":[{"name":"uid","in":"path","description":"The id of the saved search to delete","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## POST /v1/savedsearches/batch

> Get a list of specific searches

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Search.SavedSearchModel":{"type":"object","properties":{"Uid":{"type":"string","description":"The uid of the saved search","format":"uuid"},"Created":{"type":"string","description":"The created time in UTC time","format":"date-time"},"CreatedBy":{"type":"string","description":"The user who created the safe search","nullable":true},"LastMofidied":{"type":"string","description":"The last modified time in UTC time\r\n<remarks>Same as created time if the saved search hasn't been modified</remarks>","format":"date-time"},"LastModifiedBy":{"type":"string","description":"The user who last modified the saved search\r\n<remarks>Same as createdBy if the saved search hasn't been modified</remarks>","nullable":true},"OwnerUserUid":{"type":"string","description":"Potential owner of the saved search","nullable":true},"FailedCalculationCounter":{"type":"integer","description":"The number of times this saved search has failed","format":"int32"},"FailedMessage":{"type":"string","description":"The message describing why this saved search has failed","nullable":true},"Name":{"type":"string","description":"Name of the saved search","nullable":true},"SearchEntityTypeModel":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchEntityTypeModel"},"GlobalListUid":{"type":"string","description":"Globallist uid of referencing globallist","format":"uuid","nullable":true},"FolderUid":{"type":"string","description":"Folder id of the saved search","format":"uuid","nullable":true},"Query":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.QueryModel"},"SortOrder":{"type":"integer","description":"Sortorder of the saved search","format":"int32"},"ViewColumns":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchColumnModel"},"description":"The settings for the columns in the ui","nullable":true},"EnableTimeline":{"type":"boolean","description":"Whether or not to enable the timeline"},"TimelineBusinessUnits":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Business unit limitation for timeline calculation","nullable":true}},"additionalProperties":false,"description":"The saved search api model"},"Struct.App.Api.Models.Search.SavedSearchEntityTypeModel":{"enum":[1,2,3,4,5,6],"type":"integer","description":"The type of saved search \n\n- `1` = **Category**: Category type\n- `2` = **Product**: Product type\n- `3` = **VariantGroup**: VariantGroup type\n- `4` = **Variant**: Variant type\n- `5` = **Asset**: Asset type\n- `6` = **GlobalList**: Globallist type","format":"int32"},"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.Search.SavedSearchColumnModel":{"type":"object","properties":{"FieldUid":{"type":"string","description":"Uid of the column","nullable":true},"Width":{"type":"integer","description":"Width of the column","format":"int32","nullable":true}},"additionalProperties":false,"description":"Saved search column size in the UI"},"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/savedsearches/batch":{"post":{"tags":["SavedSearch"],"summary":"Get a list of specific searches","requestBody":{"description":"The ids of the saved searches","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchModel"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## GET /v1/savedsearches

> Gets all searches in the system

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Search.SavedSearchModel":{"type":"object","properties":{"Uid":{"type":"string","description":"The uid of the saved search","format":"uuid"},"Created":{"type":"string","description":"The created time in UTC time","format":"date-time"},"CreatedBy":{"type":"string","description":"The user who created the safe search","nullable":true},"LastMofidied":{"type":"string","description":"The last modified time in UTC time\r\n<remarks>Same as created time if the saved search hasn't been modified</remarks>","format":"date-time"},"LastModifiedBy":{"type":"string","description":"The user who last modified the saved search\r\n<remarks>Same as createdBy if the saved search hasn't been modified</remarks>","nullable":true},"OwnerUserUid":{"type":"string","description":"Potential owner of the saved search","nullable":true},"FailedCalculationCounter":{"type":"integer","description":"The number of times this saved search has failed","format":"int32"},"FailedMessage":{"type":"string","description":"The message describing why this saved search has failed","nullable":true},"Name":{"type":"string","description":"Name of the saved search","nullable":true},"SearchEntityTypeModel":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchEntityTypeModel"},"GlobalListUid":{"type":"string","description":"Globallist uid of referencing globallist","format":"uuid","nullable":true},"FolderUid":{"type":"string","description":"Folder id of the saved search","format":"uuid","nullable":true},"Query":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.QueryModel"},"SortOrder":{"type":"integer","description":"Sortorder of the saved search","format":"int32"},"ViewColumns":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchColumnModel"},"description":"The settings for the columns in the ui","nullable":true},"EnableTimeline":{"type":"boolean","description":"Whether or not to enable the timeline"},"TimelineBusinessUnits":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Business unit limitation for timeline calculation","nullable":true}},"additionalProperties":false,"description":"The saved search api model"},"Struct.App.Api.Models.Search.SavedSearchEntityTypeModel":{"enum":[1,2,3,4,5,6],"type":"integer","description":"The type of saved search \n\n- `1` = **Category**: Category type\n- `2` = **Product**: Product type\n- `3` = **VariantGroup**: VariantGroup type\n- `4` = **Variant**: Variant type\n- `5` = **Asset**: Asset type\n- `6` = **GlobalList**: Globallist type","format":"int32"},"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.Search.SavedSearchColumnModel":{"type":"object","properties":{"FieldUid":{"type":"string","description":"Uid of the column","nullable":true},"Width":{"type":"integer","description":"Width of the column","format":"int32","nullable":true}},"additionalProperties":false,"description":"Saved search column size in the UI"},"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/savedsearches":{"get":{"tags":["SavedSearch"],"summary":"Gets all searches in the system","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchModel"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## POST /v1/savedsearches

> Create a saved search in the system

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Search.CreateSavedSearchModel":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id if the saved search","format":"uuid"},"OwnerUserUid":{"type":"string","description":"The user who owns the saved search. If null, saved search is available to all users","nullable":true},"Name":{"type":"string","description":"Name of the saved search","nullable":true},"SearchEntityTypeModel":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchEntityTypeModel"},"GlobalListUid":{"type":"string","description":"Globallist uid of referencing globallist","format":"uuid","nullable":true},"FolderUid":{"type":"string","description":"Folder id of the saved search","format":"uuid","nullable":true},"Query":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.QueryModel"},"SortOrder":{"type":"integer","description":"Sortorder of the saved search","format":"int32"},"ViewColumns":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchColumnModel"},"description":"The settings for the columns in the ui","nullable":true},"EnableTimeline":{"type":"boolean","description":"Whether or not to enable the timeline"},"TimelineBusinessUnits":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Business unit limitation for timeline calculation","nullable":true}},"additionalProperties":false,"description":"Model to create a new saved search in the api"},"Struct.App.Api.Models.Search.SavedSearchEntityTypeModel":{"enum":[1,2,3,4,5,6],"type":"integer","description":"The type of saved search \n\n- `1` = **Category**: Category type\n- `2` = **Product**: Product type\n- `3` = **VariantGroup**: VariantGroup type\n- `4` = **Variant**: Variant type\n- `5` = **Asset**: Asset type\n- `6` = **GlobalList**: Globallist type","format":"int32"},"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.Search.SavedSearchColumnModel":{"type":"object","properties":{"FieldUid":{"type":"string","description":"Uid of the column","nullable":true},"Width":{"type":"integer","description":"Width of the column","format":"int32","nullable":true}},"additionalProperties":false,"description":"Saved search column size in the UI"},"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/savedsearches":{"post":{"tags":["SavedSearch"],"summary":"Create a saved search in the system","requestBody":{"description":"Struct.App.Api.Models.Search.CreateSavedSearchModel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.CreateSavedSearchModel"}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## PATCH /v1/savedsearches

> Update a saved search

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"SavedSearch","description":" Saved searches allow the user to save frequent used searches. These can be organized in folders for easy access.\r\nThe saved searches can also be referenced in widgets to display current status of PIM data."}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Search.UpdateSavedSearchModel":{"type":"object","properties":{"Uid":{"type":"string","description":"Unique id if the saved search","format":"uuid"},"OwnerUserUid":{"type":"string","description":"The user who owns the saved search. If null, saved search is available to all users","nullable":true},"Name":{"type":"string","description":"Name of the saved search","nullable":true},"SearchEntityTypeModel":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchEntityTypeModel"},"GlobalListUid":{"type":"string","description":"Globallist uid of referencing globallist","format":"uuid","nullable":true},"FolderUid":{"type":"string","description":"Folder id of the saved search","format":"uuid","nullable":true},"Query":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.QueryModel"},"SortOrder":{"type":"integer","description":"Sortorder of the saved search","format":"int32"},"ViewColumns":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.SavedSearchColumnModel"},"description":"The settings for the columns in the ui","nullable":true},"EnableTimeline":{"type":"boolean","description":"Whether or not to enable the timeline"},"TimelineBusinessUnits":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Business unit limitation for timeline calculation","nullable":true}},"additionalProperties":false,"description":"Model to update a saved search in the api"},"Struct.App.Api.Models.Search.SavedSearchEntityTypeModel":{"enum":[1,2,3,4,5,6],"type":"integer","description":"The type of saved search \n\n- `1` = **Category**: Category type\n- `2` = **Product**: Product type\n- `3` = **VariantGroup**: VariantGroup type\n- `4` = **Variant**: Variant type\n- `5` = **Asset**: Asset type\n- `6` = **GlobalList**: Globallist type","format":"int32"},"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.Search.SavedSearchColumnModel":{"type":"object","properties":{"FieldUid":{"type":"string","description":"Uid of the column","nullable":true},"Width":{"type":"integer","description":"Width of the column","format":"int32","nullable":true}},"additionalProperties":false,"description":"Saved search column size in the UI"},"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/savedsearches":{"patch":{"tags":["SavedSearch"],"summary":"Update a saved search","requestBody":{"description":"Struct.App.Api.Models.Search.UpdateSavedSearchModel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Search.UpdateSavedSearchModel"}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```
