# Browse

The browse endpoints allows external partners access to a specified dataset within the PIM system

## Browse products

> \#Available from v.3.6.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Browse","description":"The browse endpoints allows external partners access to a specified dataset within the PIM system"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Browse.BrowseProductsResultSet":{"type":"object","properties":{"Page":{"type":"integer","description":"Page number","format":"int32"},"TotalPages":{"type":"integer","description":"Total pages","format":"int32"},"Products":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Browse.BrowseProductResult"},"description":"Product results","nullable":true}},"additionalProperties":false,"description":"Browse products result set"},"Struct.App.Api.Models.Browse.BrowseProductResult":{"type":"object","properties":{"Id":{"type":"integer","description":"Id","format":"int32"},"Created":{"type":"string","description":"Created","format":"date-time"},"LastModified":{"type":"string","description":"Last modified","format":"date-time"},"IsArchived":{"type":"boolean","description":"Mark as archived"},"InternalName":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.LocalizedData`1[System.String]"},"description":"Internal name","nullable":true},"Categories":{"type":"array","items":{"type":"integer","format":"int32"},"description":"Categories","nullable":true},"VariantDefiningValues":{"type":"array","items":{"type":"string"},"description":"Variant defining values","nullable":true},"Values":{"type":"object","additionalProperties":{},"description":"Dictionary of attribute alias and the corresponding attribute value as an object representation. \r\nIf RenderValues is set, value will be a string representation of the value using display rendering. If only single language and single segments per dimension all values will be string representation. If multiple languages and/or multiple segments per dimension a RenderedLocalizedSegmentValue will be returned representing each value.","nullable":true}},"additionalProperties":false,"description":"Browse product result"},"Struct.App.Api.Models.Shared.LocalizedData`1[System.String]":{"type":"object","properties":{"CultureCode":{"type":"string","description":"ISO culture code of the value","nullable":true},"Data":{"type":"string","description":"The localized value","nullable":true}},"additionalProperties":false,"description":"Model for holding localized data representations for attribute values"}}},"paths":{"/v1/browse/products":{"get":{"tags":["Browse"],"summary":"Browse products","description":"#Available from v.3.6.0","parameters":[{"name":"page","in":"query","description":"Page number","schema":{"type":"integer","format":"int32","default":1}},{"name":"lastModifiedAfter","in":"query","description":"Request only entities modified after the provided timestamp","schema":{"type":"string","format":"date-time"}},{"name":"includeArchived","in":"query","description":"Include archived products","schema":{"type":"boolean","default":false}},{"name":"renderValues","in":"query","description":"Return rendered values instead of object representations","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Browse.BrowseProductsResultSet"}}}}}}}}}
```

## Browse variants

> \#Available from v.3.6.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Browse","description":"The browse endpoints allows external partners access to a specified dataset within the PIM system"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Browse.BrowseVariantsResultSet":{"type":"object","properties":{"Page":{"type":"integer","description":"Page number","format":"int32"},"TotalPages":{"type":"integer","description":"Total pages","format":"int32"},"Variants":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Browse.BrowseVariantResult"},"description":"Variant results","nullable":true}},"additionalProperties":false,"description":"Browse variants result set"},"Struct.App.Api.Models.Browse.BrowseVariantResult":{"type":"object","properties":{"Id":{"type":"integer","description":"Id","format":"int32"},"ProductId":{"type":"integer","description":"Product Id","format":"int32"},"VariantGroupId":{"type":"integer","description":"The variant group this variant is connected to, if any","format":"int32","nullable":true},"Created":{"type":"string","description":"Created","format":"date-time"},"LastModified":{"type":"string","description":"Last modified","format":"date-time"},"IsArchived":{"type":"boolean","description":"Mark as archived"},"InternalName":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.LocalizedData`1[System.String]"},"description":"Internal name","nullable":true},"Values":{"type":"object","additionalProperties":{},"description":"Dictionary of attribute alias and the corresponding attribute value as an object representation. \r\nIf RenderValues is set, value will be a string representation of the value using display rendering. If only single language and single segments per dimension all values will be string representation. If multiple languages and/or multiple segments per dimension a RenderedLocalizedSegmentValue will be returned representing each value.","nullable":true}},"additionalProperties":false,"description":"Browse variant result"},"Struct.App.Api.Models.Shared.LocalizedData`1[System.String]":{"type":"object","properties":{"CultureCode":{"type":"string","description":"ISO culture code of the value","nullable":true},"Data":{"type":"string","description":"The localized value","nullable":true}},"additionalProperties":false,"description":"Model for holding localized data representations for attribute values"}}},"paths":{"/v1/browse/variants":{"get":{"tags":["Browse"],"summary":"Browse variants","description":"#Available from v.3.6.0","parameters":[{"name":"page","in":"query","description":"Page number","schema":{"type":"integer","format":"int32","default":1}},{"name":"lastModifiedAfter","in":"query","description":"Request only entities modified after the provided timestamp","schema":{"type":"string","format":"date-time"}},{"name":"includeArchived","in":"query","description":"Include archived variants","schema":{"type":"boolean","default":false}},{"name":"renderValues","in":"query","description":"Return rendered values instead of object representations","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Browse.BrowseVariantsResultSet"}}}}}}}}}
```

## Browse variant groups

> \#Available from v.3.13.14

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Browse","description":"The browse endpoints allows external partners access to a specified dataset within the PIM system"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Browse.BrowseVariantGroupsResultSet":{"type":"object","properties":{"Page":{"type":"integer","description":"Page number","format":"int32"},"TotalPages":{"type":"integer","description":"Total pages","format":"int32"},"VariantGroups":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Browse.BrowseVariantGroupResult"},"description":"Variant group results","nullable":true}},"additionalProperties":false,"description":"Browse variant groups result set"},"Struct.App.Api.Models.Browse.BrowseVariantGroupResult":{"type":"object","properties":{"Id":{"type":"integer","description":"Id","format":"int32"},"ProductId":{"type":"integer","description":"Product Id","format":"int32"},"Created":{"type":"string","description":"Created","format":"date-time"},"LastModified":{"type":"string","description":"Last modified","format":"date-time"},"IsArchived":{"type":"boolean","description":"Mark as archived"},"InternalName":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.LocalizedData`1[System.String]"},"description":"Internal name","nullable":true},"Values":{"type":"object","additionalProperties":{},"description":"Dictionary of attribute alias and the corresponding attribute value as an object representation. \r\nIf RenderValues is set, value will be a string representation of the value using display rendering. If only single language and single segments per dimension all values will be string representation. If multiple languages and/or multiple segments per dimension a RenderedLocalizedSegmentValue will be returned representing each value.","nullable":true}},"additionalProperties":false,"description":"Browse variant group result"},"Struct.App.Api.Models.Shared.LocalizedData`1[System.String]":{"type":"object","properties":{"CultureCode":{"type":"string","description":"ISO culture code of the value","nullable":true},"Data":{"type":"string","description":"The localized value","nullable":true}},"additionalProperties":false,"description":"Model for holding localized data representations for attribute values"}}},"paths":{"/v1/browse/variantgroups":{"get":{"tags":["Browse"],"summary":"Browse variant groups","description":"#Available from v.3.13.14","parameters":[{"name":"page","in":"query","description":"Page number","schema":{"type":"integer","format":"int32","default":1}},{"name":"lastModifiedAfter","in":"query","description":"Request only entities modified after the provided timestamp","schema":{"type":"string","format":"date-time"}},{"name":"includeArchived","in":"query","description":"Include archived variant groups","schema":{"type":"boolean","default":false}},{"name":"renderValues","in":"query","description":"Return rendered values instead of object representations","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Browse.BrowseVariantGroupsResultSet"}}}}}}}}}
```

## Browse categories

> \#Available from v.3.6.0

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Browse","description":"The browse endpoints allows external partners access to a specified dataset within the PIM system"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Browse.BrowseCategoriesResultSet":{"type":"object","properties":{"Page":{"type":"integer","description":"Page number","format":"int32"},"TotalPages":{"type":"integer","description":"Total pages","format":"int32"},"Categories":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Browse.BrowseCategoryResult"},"description":"Category results","nullable":true}},"additionalProperties":false,"description":"Browse categories result set"},"Struct.App.Api.Models.Browse.BrowseCategoryResult":{"type":"object","properties":{"Id":{"type":"integer","description":"Id","format":"int32"},"ParentId":{"type":"integer","description":"Parent Id","format":"int32","nullable":true},"Created":{"type":"string","description":"Created","format":"date-time"},"LastModified":{"type":"string","description":"Last modified","format":"date-time"},"InternalName":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Shared.LocalizedData`1[System.String]"},"description":"Internal name","nullable":true},"Values":{"type":"object","additionalProperties":{},"description":"Dictionary of attribute alias and the corresponding attribute value as an object representation. \r\nIf RenderValues is set, value will be a string representation of the value using display rendering. If only single language and single segments per dimension all values will be string representation. If multiple languages and/or multiple segments per dimension a RenderedLocalizedSegmentValue will be returned representing each value.","nullable":true}},"additionalProperties":false,"description":"Browse category result values"},"Struct.App.Api.Models.Shared.LocalizedData`1[System.String]":{"type":"object","properties":{"CultureCode":{"type":"string","description":"ISO culture code of the value","nullable":true},"Data":{"type":"string","description":"The localized value","nullable":true}},"additionalProperties":false,"description":"Model for holding localized data representations for attribute values"}}},"paths":{"/v1/browse/categories":{"get":{"tags":["Browse"],"summary":"Browse categories","description":"#Available from v.3.6.0","parameters":[{"name":"page","in":"query","description":"Page number","schema":{"type":"integer","format":"int32","default":1}},{"name":"lastModifiedAfter","in":"query","description":"Request only entities modified after the provided timestamp","schema":{"type":"string","format":"date-time"}},{"name":"renderValues","in":"query","description":"Return rendered values instead of object representations","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Browse.BrowseCategoriesResultSet"}}}}}}}}}
```


---

# 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/browse.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.
