# Models

## The AdvisorCampaignStatusHolder object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."}}}}
```

## The Answer object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Answer":{"required":["id","searchParams","selected","text"],"type":"object","properties":{"id":{"type":"string","description":"ID of this answer."},"questions":{"type":"array","description":"The questions to be shown when the answer is selected.","items":{"$ref":"#/components/schemas/Question"}},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"boolean","description":"True if the answer has been selected."},"text":{"type":"string","description":"Text, shown when the answer is active."}}},"Question":{"required":["answers","id","text","visible"],"type":"object","properties":{"answers":{"type":"array","description":"The answers associated to this question.","items":{"$ref":"#/components/schemas/Answer"}},"id":{"type":"string","description":"The ID of the question."},"text":{"type":"string","description":"The text to be shown to the user."},"visible":{"type":"boolean","description":"Set to true when the question is visible."}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The ApiError object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"ApiError":{"required":["error"],"type":"object","properties":{"error":{"type":"string","description":"A short error description"},"errorDescription":{"type":"string","description":"A description of the error cause"},"stacktrace":{"type":"array","description":"The stacktrace from the error (will only be transmitted when the query parameter verbose=true was added to the request)","items":{"type":"string"}}},"description":"Contains information which will be returned when an error occurs."}}}}
```

## The BreadCrumbTrailItem object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"BreadCrumbTrailItem":{"required":["type"],"type":"object","properties":{"associatedFieldName":{"type":"string","description":"Contains the name of the field on which the filter operates. Used for filter type items."},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"text":{"type":"string","description":"The text to be displayed to the user."},"type":{"type":"string","description":"Breadcrumb trail item type.","enum":["search","filter","advisor","unspecified"]},"value":{"type":"object","description":"Contains information corresponding to the item type (for example, contains the search term for the search type)."}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The Campaign object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Campaign":{"required":["advisorTree","category","flavour"],"type":"object","properties":{"activeQuestions":{"type":"array","description":"The currently active questions to be shown to the user. These questions do not need to be the root questions, in case the user has already answered a question.","items":{"$ref":"#/components/schemas/Question"}},"ad":{"type":"boolean","description":"The setting which defines if this campaign is used as an ad."},"advisorTree":{"type":"array","description":"The advisor root questions associated with this campaign.","items":{"$ref":"#/components/schemas/Question"}},"category":{"type":"string","description":"The category of the campaign. May be empty."},"excludeProductsNotInMarkets":{"type":"boolean","description":"The setting which decides whether pushed products should be excluded if they are not mapped to any selected market."},"excludeProductsNotInRange":{"type":"boolean","description":"The setting which decides whether pushed products should be excluded if they are not close enough to the search location."},"feedbackTexts":{"type":"array","description":"The feedback text lines that will be displayed to the user.","items":{"$ref":"#/components/schemas/FeedbackText"}},"flavour":{"type":"string","description":"The kind of the campaign.","enum":["ADVISOR","REDIRECT","FEEDBACK","PRODUCT"]},"hits":{"type":"array","description":"The records associated with the campaign, if it should push products.","items":{"$ref":"#/components/schemas/RecordWithId"}},"id":{"type":"string","description":"The ID of the campaign."},"name":{"type":"string","description":"The name of the campaign."},"target":{"$ref":"#/components/schemas/Target"}}},"Question":{"required":["answers","id","text","visible"],"type":"object","properties":{"answers":{"type":"array","description":"The answers associated to this question.","items":{"$ref":"#/components/schemas/Answer"}},"id":{"type":"string","description":"The ID of the question."},"text":{"type":"string","description":"The text to be shown to the user."},"visible":{"type":"boolean","description":"Set to true when the question is visible."}}},"Answer":{"required":["id","searchParams","selected","text"],"type":"object","properties":{"id":{"type":"string","description":"ID of this answer."},"questions":{"type":"array","description":"The questions to be shown when the answer is selected.","items":{"$ref":"#/components/schemas/Question"}},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"boolean","description":"True if the answer has been selected."},"text":{"type":"string","description":"Text, shown when the answer is active."}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}},"FeedbackText":{"required":["html","label","teaser"],"type":"object","properties":{"html":{"type":"boolean","description":"Set to true, if the text should be displayed as HTML."},"label":{"type":"string","description":"Describes where the text should be displayed."},"position":{"type":"integer","description":"The position the text should be displayed at if it is a teaser","format":"int32"},"teaser":{"type":"boolean","description":"Set to true, if the text is considered a teaser"},"text":{"type":"string","description":"The text to be shown to the user."}}},"RecordWithId":{"required":["id","masterValues","variantValues"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."},"Target":{"required":["destination"],"type":"object","properties":{"destination":{"type":"string","description":"The URL to which the user should be redirected."},"name":{"type":"string","description":"A name to identify the target URL."}},"description":"The redirect target."}}}}
```

## The CampaignsResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"CampaignsResult":{"required":["campaigns"],"type":"object","properties":{"campaigns":{"type":"array","description":"Active campaigns triggered by the request.","items":{"$ref":"#/components/schemas/Campaign"}},"geo":{"$ref":"#/components/schemas/Geo"}}},"Campaign":{"required":["advisorTree","category","flavour"],"type":"object","properties":{"activeQuestions":{"type":"array","description":"The currently active questions to be shown to the user. These questions do not need to be the root questions, in case the user has already answered a question.","items":{"$ref":"#/components/schemas/Question"}},"ad":{"type":"boolean","description":"The setting which defines if this campaign is used as an ad."},"advisorTree":{"type":"array","description":"The advisor root questions associated with this campaign.","items":{"$ref":"#/components/schemas/Question"}},"category":{"type":"string","description":"The category of the campaign. May be empty."},"excludeProductsNotInMarkets":{"type":"boolean","description":"The setting which decides whether pushed products should be excluded if they are not mapped to any selected market."},"excludeProductsNotInRange":{"type":"boolean","description":"The setting which decides whether pushed products should be excluded if they are not close enough to the search location."},"feedbackTexts":{"type":"array","description":"The feedback text lines that will be displayed to the user.","items":{"$ref":"#/components/schemas/FeedbackText"}},"flavour":{"type":"string","description":"The kind of the campaign.","enum":["ADVISOR","REDIRECT","FEEDBACK","PRODUCT"]},"hits":{"type":"array","description":"The records associated with the campaign, if it should push products.","items":{"$ref":"#/components/schemas/RecordWithId"}},"id":{"type":"string","description":"The ID of the campaign."},"name":{"type":"string","description":"The name of the campaign."},"target":{"$ref":"#/components/schemas/Target"}}},"Question":{"required":["answers","id","text","visible"],"type":"object","properties":{"answers":{"type":"array","description":"The answers associated to this question.","items":{"$ref":"#/components/schemas/Answer"}},"id":{"type":"string","description":"The ID of the question."},"text":{"type":"string","description":"The text to be shown to the user."},"visible":{"type":"boolean","description":"Set to true when the question is visible."}}},"Answer":{"required":["id","searchParams","selected","text"],"type":"object","properties":{"id":{"type":"string","description":"ID of this answer."},"questions":{"type":"array","description":"The questions to be shown when the answer is selected.","items":{"$ref":"#/components/schemas/Question"}},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"boolean","description":"True if the answer has been selected."},"text":{"type":"string","description":"Text, shown when the answer is active."}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}},"FeedbackText":{"required":["html","label","teaser"],"type":"object","properties":{"html":{"type":"boolean","description":"Set to true, if the text should be displayed as HTML."},"label":{"type":"string","description":"Describes where the text should be displayed."},"position":{"type":"integer","description":"The position the text should be displayed at if it is a teaser","format":"int32"},"teaser":{"type":"boolean","description":"Set to true, if the text is considered a teaser"},"text":{"type":"string","description":"The text to be shown to the user."}}},"RecordWithId":{"required":["id","masterValues","variantValues"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."},"Target":{"required":["destination"],"type":"object","properties":{"destination":{"type":"string","description":"The URL to which the user should be redirected."},"name":{"type":"string","description":"A name to identify the target URL."}},"description":"The redirect target."},"Geo":{"required":["markets","selectedMarkets","showDistance","showMarkets"],"type":"object","properties":{"markets":{"type":"array","description":"The unselected markets","items":{"$ref":"#/components/schemas/Market"}},"selectedMarkets":{"type":"array","description":"The selected markets","items":{"$ref":"#/components/schemas/Market"}},"showDistance":{"type":"boolean","description":"Should show the distance attached to the markets."},"showMarkets":{"type":"boolean","description":"Should show the list of all existing markets."}},"description":"Contains the selected and unselected markets."},"Market":{"type":"object","properties":{"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"hasProducts":{"type":"boolean","description":"True, if the market has at least one product mapped to it in the current search result, otherwise false."},"id":{"type":"string","description":"Id of the market"},"location":{"$ref":"#/components/schemas/Location"},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]}}}}}}
```

## The CartOrCheckoutEvent object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"CartOrCheckoutEvent":{"required":["count","id","sid"],"type":"object","properties":{"campaign":{"type":"string","description":"If the product was added to search result by a campaign, this field should contain the campaign ID."},"count":{"type":"integer","description":"The number of items.","format":"int32"},"id":{"type":"string","description":"The ID of the product."},"masterId":{"type":"string","description":"Contains the master ID, if the article is a variant and 'ID' refers to the variant."},"price":{"type":"number","description":"The single-item price of the product.","format":"double"},"purchaserId":{"type":"string","description":"The ID for Customer-Specific Info."},"sid":{"type":"string","description":"The session ID."},"title":{"type":"string","description":"The title of the product."},"userId":{"type":"string","description":"The ID of the user who issued the request."}}}}}}
```

## The CategoryNavigation object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"CategoryNavigation":{"required":["timedOut"],"type":"object","properties":{"facets":{"type":"array","items":{"$ref":"#/components/schemas/Facet"}},"timedOut":{"type":"boolean","description":"If true, this search took longer than the timeout currently defined. Therefore, the results may not contain all relevant products."}}},"Facet":{"required":["associatedFieldName","detailedLinks","elements","filterStyle","selectedElements","selectionType","showPreviewImages"],"type":"object","properties":{"associatedFieldName":{"type":"string","description":"The name of the field that contains the values represented by this facet."},"decimalPlaces":{"type":"integer","description":"Specifies the amount of digits after the decimal separator for elements of slider facets.","format":"int32"},"detailedLinks":{"type":"integer","description":"Number of links to be displayed (for the selection menu).","format":"int32"},"elements":{"type":"array","description":"The elements shown in the filter.","items":{"$ref":"#/components/schemas/FacetElement"}},"filterStyle":{"type":"string","description":"The style in which the filter should be displayed.","enum":["DEFAULT","SLIDER","MULTISELECT","TREE"]},"name":{"type":"string","description":"Filter name that should be displayed to the user."},"selectedElements":{"type":"array","description":"The elements of the filter that are currently selected.","items":{"$ref":"#/components/schemas/FacetElement"}},"selectionType":{"type":"string","description":"Defines the way this filter behaves when elements are selected.","enum":["singleHideUnselected","singleShowUnselected","multiSelectOr","multiSelectAnd"]},"showPreviewImages":{"type":"boolean","description":"If true, preview images should be displayed to the user."},"type":{"type":"string","description":"The type of the filter elements.","enum":["FLOAT","INTEGER","MULTI","TEXT","CATEGORY_PATH","BOOLEAN","DATE","GTIN","ALPHANUMERIC","PROPERTY","GEO"]},"unit":{"type":"string","description":"The units to be shown, if filter elements represent (for instance) length, or weight."}}},"FacetElement":{"required":["clusterLevel","selected"],"type":"object","properties":{"absoluteMaxValue":{"type":"number","description":"The absolute maximum value for the overall slider range.","format":"double"},"absoluteMinValue":{"type":"number","description":"The absolute minimum value for the overall slider range.","format":"double"},"clusterLevel":{"type":"integer","description":"Level in the cluster hierarchy. Corresponding subcategories have a higher (deeper) level.","format":"int32"},"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"previewImageURL":{"type":"string","description":"URL to the preview image to be displayed with the element."},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, IMPLICIT, if the selection is implicit, IRRELEVANT means, that the element has been selected by the user, but does not match any record of the search result, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]},"selectedMaxValue":{"type":"number","description":"The maximum value of the currently selected slider range.","format":"double"},"selectedMinValue":{"type":"number","description":"The minimum value of the currently selected slider range.","format":"double"},"showDistance":{"type":"boolean","description":"If 'true', the distance should be added to the element name label by frontend."},"text":{"type":"string","description":"The text to be displayed to the user."},"totalHits":{"type":"integer","description":"The number of products that the search result should contain when this facet element is selected.","format":"int32"}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The ClickEvent object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"ClickEvent":{"required":["id","pos","query","sid"],"type":"object","properties":{"campaign":{"type":"string","description":"If the product was added to search results by a campaign, this field should contain the campaign ID."},"id":{"type":"string","description":"The ID of the product."},"masterId":{"type":"string","description":"Contains the master ID, if the article is a variant and 'ID' refers to the variant."},"page":{"type":"integer","description":"The page number of the search result that contains the product.","format":"int32"},"pageSize":{"type":"integer","description":"The current page size (possibly adjusted by the user) when the product was clicked.","format":"int32"},"pos":{"minimum":1,"type":"integer","description":"The overall position of the product inside the search result.","format":"int32"},"purchaserId":{"type":"string","description":"The ID for Customer-Specific Info."},"query":{"type":"string","description":"The search term that the user searched for."},"score":{"minimum":0,"type":"number","description":"The score of the product.","format":"double"},"sid":{"type":"string","description":"The session ID."},"title":{"type":"string","description":"The title of the product."},"userId":{"type":"string","description":"The ID of the user who issued the request."}}}}}}
```

## The ClusterState object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"ClusterState":{"type":"object","properties":{"cacheFlush":{"type":"integer","description":"Number of completed cache flushes.","format":"int64"},"database":{"$ref":"#/components/schemas/DatabaseState"},"imports":{"type":"array","description":"Number of imports completed per import type.","items":{"$ref":"#/components/schemas/ImportCount"}}}},"DatabaseState":{"type":"object","properties":{"databaseVersion":{"type":"integer","description":"The version of the current worldmatch database. If the databaseVersion of a worker is less than the databaseVersion of the director, the worker needs to reload the whole worldmatch database in order to synchronize itself with the director.","format":"int64"},"deltaErrorCount":{"type":"integer","description":"The number of errors (rejected delta updates) which occurred while trying to synchronize worker and director. Reloading the worldmatch database resets this counter to zero.","format":"int64"},"deltaVersion":{"type":"integer","description":"The number of delta updates applied to the current worldmatch database. If the deltaVersion of a worker is less than the deltaVersion of the directory, but the databaseVersions are equal, applying the missing delta updates to the worker is sufficient to  synchronize worker and director.","format":"int64"}},"description":"The worldmatch database state."},"ImportCount":{"type":"object","properties":{"count":{"type":"integer","format":"int64"},"type":{"type":"string","enum":["DATA","SUGGEST","RECOMMENDATION","RANKING","CUSTOMER_SPECIFIC_PRICING","GEO","DATA_AND_PRICING","EMBEDDING"]}}}}}}
```

## The CompareAttribute object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"CompareAttribute":{"required":["different","name","sourceField"],"type":"object","properties":{"different":{"type":"boolean","description":"Set to true if the compared products have different values for the attribute."},"name":{"type":"string","description":"The name of the attribute."},"sourceField":{"type":"string","description":"The name of the database field that contains the attribute."}}}}}}
```

## The CompareResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"CompareResult":{"required":["attributes","fieldRoles","records"],"type":"object","properties":{"attributes":{"type":"array","description":"The result of the comparison process, with information about differences.","items":{"$ref":"#/components/schemas/CompareAttribute"}},"fieldRoles":{"type":"object","additionalProperties":{"type":"string","description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"records":{"type":"array","description":"The records that were compared.","items":{"$ref":"#/components/schemas/TypedFlatRecord"}}}},"CompareAttribute":{"required":["different","name","sourceField"],"type":"object","properties":{"different":{"type":"boolean","description":"Set to true if the compared products have different values for the attribute."},"name":{"type":"string","description":"The name of the attribute."},"sourceField":{"type":"string","description":"The name of the database field that contains the attribute."}}},"TypedFlatRecord":{"required":["values"],"type":"object","properties":{"id":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"object","description":"Contains all the fields present in the record and their corresponding values. If variants exists the values of a specific variant (usually the first) are merged into this map."},"description":"Contains all the fields present in the record and their corresponding values. If variants exists the values of a specific variant (usually the first) are merged into this map."}}}}}}
```

## The CustomParameter object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}}}}}
```

## The CustomerPriceRecord object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"CustomerPriceRecord":{"title":"CustomerPriceRecord","type":"object","additionalProperties":{"type":"object"},"description":"Represents a record of customer prices. The original input of the operation (will only be transmitted when the query parameter verbose=true was added to the request)."}}}}
```

## The CustomerPriceUpdateResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"CustomerPriceUpdateResult":{"required":["success"],"type":"object","properties":{"error":{"$ref":"#/components/schemas/ErrorDescription"},"record":{"$ref":"#/components/schemas/CustomerPriceRecord"},"success":{"type":"boolean","description":"If true, the operation succeeded. Otherwise an error occurred which will be described in the error field."},"warnings":{"type":"array","description":"A list of all warnings.","items":{"$ref":"#/components/schemas/ErrorDescription"}}}},"ErrorDescription":{"required":["name"],"type":"object","properties":{"description":{"type":"string","description":"A description of the error cause"},"name":{"type":"string","description":"Name of the error"},"stacktrace":{"type":"array","description":"The stacktrace from the error (will only be transmitted when the query parameter verbose=true was added to the request)","items":{"type":"string"}}},"description":"Contains information which will be returned when an error occurs."},"CustomerPriceRecord":{"title":"CustomerPriceRecord","type":"object","additionalProperties":{"type":"object"},"description":"Represents a record of customer prices. The original input of the operation (will only be transmitted when the query parameter verbose=true was added to the request)."}}}}
```

## The DatabaseState object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"DatabaseState":{"type":"object","properties":{"databaseVersion":{"type":"integer","description":"The version of the current worldmatch database. If the databaseVersion of a worker is less than the databaseVersion of the director, the worker needs to reload the whole worldmatch database in order to synchronize itself with the director.","format":"int64"},"deltaErrorCount":{"type":"integer","description":"The number of errors (rejected delta updates) which occurred while trying to synchronize worker and director. Reloading the worldmatch database resets this counter to zero.","format":"int64"},"deltaVersion":{"type":"integer","description":"The number of delta updates applied to the current worldmatch database. If the deltaVersion of a worker is less than the deltaVersion of the directory, but the databaseVersions are equal, applying the missing delta updates to the worker is sufficient to  synchronize worker and director.","format":"int64"}},"description":"The worldmatch database state."}}}}
```

## The DatabaseUpdateTimes object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"DatabaseUpdateTimes":{"required":["database"],"type":"object","properties":{"database":{"type":"string","description":"Name of the Database."},"dateIntermediate":{"type":"string","description":"Date the intermediate DB was imported.","format":"date-time"},"dateLoaded":{"type":"string","description":"Date loaded into worldmatch.","format":"date-time"},"lastUpdate":{"type":"string","description":"Date of the last delta update.","format":"date-time"}}}}}}
```

## The DeleteMarketRequest object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"DeleteMarketRequest":{"type":"object","properties":{"marketIds":{"type":"array","description":"The ids of the markets which should be deleted.","items":{"type":"string"}}}}}}}
```

## The DeleteRequest object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"DeleteRequest":{"type":"object","properties":{"ids":{"type":"array","description":"The ids of the records which should be deleted.","items":{"type":"string"}}}}}}}
```

## The DeleteResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"DeleteResult":{"required":["success"],"type":"object","properties":{"error":{"$ref":"#/components/schemas/ErrorDescription"},"recordId":{"type":"string","description":"The id of the record which should be deleted."},"success":{"type":"boolean","description":"If true, the operation succeeded. Otherwise an error occurred which will be described in the error field."},"warnings":{"type":"array","description":"A list of all warnings.","items":{"$ref":"#/components/schemas/ErrorDescription"}}}},"ErrorDescription":{"required":["name"],"type":"object","properties":{"description":{"type":"string","description":"A description of the error cause"},"name":{"type":"string","description":"Name of the error"},"stacktrace":{"type":"array","description":"The stacktrace from the error (will only be transmitted when the query parameter verbose=true was added to the request)","items":{"type":"string"}}},"description":"Contains information which will be returned when an error occurs."}}}}
```

## The DeltaUpdateResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"DeltaUpdateResult":{"required":["success"],"type":"object","properties":{"error":{"$ref":"#/components/schemas/ErrorDescription"},"record":{"$ref":"#/components/schemas/FlatRecord"},"success":{"type":"boolean","description":"If true, the operation succeeded. Otherwise an error occurred which will be described in the error field."},"warnings":{"type":"array","description":"A list of all warnings.","items":{"$ref":"#/components/schemas/ErrorDescription"}}}},"ErrorDescription":{"required":["name"],"type":"object","properties":{"description":{"type":"string","description":"A description of the error cause"},"name":{"type":"string","description":"Name of the error"},"stacktrace":{"type":"array","description":"The stacktrace from the error (will only be transmitted when the query parameter verbose=true was added to the request)","items":{"type":"string"}}},"description":"Contains information which will be returned when an error occurs."},"FlatRecord":{"title":"FlatRecord","type":"object","additionalProperties":{"type":"object"},"description":"Represents a FactFinder record. The original input of the operation (will only be transmitted when the query parameter verbose=true was added to the request)."}}}}
```

## The DescribedSortItem object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"DescribedSortItem":{"required":["description","name","order","searchParams","selected"],"type":"object","properties":{"description":{"type":"string","description":"The sorting option description, which should be displayed frontend."},"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction.","enum":["asc","desc"]},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"boolean","description":"If true, the sorting is applied to the current search result."}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The DetailPage object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"DetailPage":{"required":["fieldRoles"],"type":"object","properties":{"campaigns":{"type":"array","description":"Active campaigns for the product with the requested ID.","items":{"$ref":"#/components/schemas/Campaign"}},"fieldRoles":{"type":"object","additionalProperties":{"type":"string","description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"geo":{"$ref":"#/components/schemas/Geo"},"recommendations":{"$ref":"#/components/schemas/RecommendationResult"},"record":{"$ref":"#/components/schemas/RecordWithId"},"similarProducts":{"$ref":"#/components/schemas/SimilarProducts"}}},"Campaign":{"required":["advisorTree","category","flavour"],"type":"object","properties":{"activeQuestions":{"type":"array","description":"The currently active questions to be shown to the user. These questions do not need to be the root questions, in case the user has already answered a question.","items":{"$ref":"#/components/schemas/Question"}},"ad":{"type":"boolean","description":"The setting which defines if this campaign is used as an ad."},"advisorTree":{"type":"array","description":"The advisor root questions associated with this campaign.","items":{"$ref":"#/components/schemas/Question"}},"category":{"type":"string","description":"The category of the campaign. May be empty."},"excludeProductsNotInMarkets":{"type":"boolean","description":"The setting which decides whether pushed products should be excluded if they are not mapped to any selected market."},"excludeProductsNotInRange":{"type":"boolean","description":"The setting which decides whether pushed products should be excluded if they are not close enough to the search location."},"feedbackTexts":{"type":"array","description":"The feedback text lines that will be displayed to the user.","items":{"$ref":"#/components/schemas/FeedbackText"}},"flavour":{"type":"string","description":"The kind of the campaign.","enum":["ADVISOR","REDIRECT","FEEDBACK","PRODUCT"]},"hits":{"type":"array","description":"The records associated with the campaign, if it should push products.","items":{"$ref":"#/components/schemas/RecordWithId"}},"id":{"type":"string","description":"The ID of the campaign."},"name":{"type":"string","description":"The name of the campaign."},"target":{"$ref":"#/components/schemas/Target"}}},"Question":{"required":["answers","id","text","visible"],"type":"object","properties":{"answers":{"type":"array","description":"The answers associated to this question.","items":{"$ref":"#/components/schemas/Answer"}},"id":{"type":"string","description":"The ID of the question."},"text":{"type":"string","description":"The text to be shown to the user."},"visible":{"type":"boolean","description":"Set to true when the question is visible."}}},"Answer":{"required":["id","searchParams","selected","text"],"type":"object","properties":{"id":{"type":"string","description":"ID of this answer."},"questions":{"type":"array","description":"The questions to be shown when the answer is selected.","items":{"$ref":"#/components/schemas/Question"}},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"boolean","description":"True if the answer has been selected."},"text":{"type":"string","description":"Text, shown when the answer is active."}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}},"FeedbackText":{"required":["html","label","teaser"],"type":"object","properties":{"html":{"type":"boolean","description":"Set to true, if the text should be displayed as HTML."},"label":{"type":"string","description":"Describes where the text should be displayed."},"position":{"type":"integer","description":"The position the text should be displayed at if it is a teaser","format":"int32"},"teaser":{"type":"boolean","description":"Set to true, if the text is considered a teaser"},"text":{"type":"string","description":"The text to be shown to the user."}}},"RecordWithId":{"required":["id","masterValues","variantValues"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."},"Target":{"required":["destination"],"type":"object","properties":{"destination":{"type":"string","description":"The URL to which the user should be redirected."},"name":{"type":"string","description":"A name to identify the target URL."}},"description":"The redirect target."},"Geo":{"required":["markets","selectedMarkets","showDistance","showMarkets"],"type":"object","properties":{"markets":{"type":"array","description":"The unselected markets","items":{"$ref":"#/components/schemas/Market"}},"selectedMarkets":{"type":"array","description":"The selected markets","items":{"$ref":"#/components/schemas/Market"}},"showDistance":{"type":"boolean","description":"Should show the distance attached to the markets."},"showMarkets":{"type":"boolean","description":"Should show the list of all existing markets."}},"description":"Contains the selected and unselected markets."},"Market":{"type":"object","properties":{"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"hasProducts":{"type":"boolean","description":"True, if the market has at least one product mapped to it in the current search result, otherwise false."},"id":{"type":"string","description":"Id of the market"},"location":{"$ref":"#/components/schemas/Location"},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]}}},"RecommendationResult":{"required":["hits","timedOut"],"type":"object","properties":{"hits":{"type":"array","description":"Records of the recommended products.","items":{"$ref":"#/components/schemas/RecordWithId"}},"timedOut":{"type":"boolean","description":"Set to true when a timeout occurs."}},"description":"Recommendations for the product with the requested ID."},"SimilarProducts":{"required":["attributes","hits"],"type":"object","properties":{"attributes":{"type":"array","description":"The criteria used to find the similar products.","items":{"$ref":"#/components/schemas/SimilarAttributeInfo"}},"hits":{"type":"array","description":"The similar products.","items":{"$ref":"#/components/schemas/RecordWithId"}}},"description":"Products similar to the product with the requested ID."},"SimilarAttributeInfo":{"required":["name","value"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field containing the attribute to be compared for similarity."},"value":{"type":"string","description":"Attribute value."}}}}}}
```

## The ErrorDescription object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"ErrorDescription":{"required":["name"],"type":"object","properties":{"description":{"type":"string","description":"A description of the error cause"},"name":{"type":"string","description":"Name of the error"},"stacktrace":{"type":"array","description":"The stacktrace from the error (will only be transmitted when the query parameter verbose=true was added to the request)","items":{"type":"string"}}},"description":"Contains information which will be returned when an error occurs."}}}}
```

## The ExpirationData object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"ExpirationData":{"required":["database"],"type":"object","properties":{"database":{"type":"string","description":"Name of the Database."},"error":{"type":"string","description":"Error message of the error that occurred while getting the expiration info."},"modified":{"type":"string","description":"Date of the last modification time of the database.","format":"date-time"},"modifiedLoaded":{"type":"string","description":"Date of the last modification time of the loaded database.","format":"date-time"}}}}}}
```

## The ExpirationMessage object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"ExpirationMessage":{"required":["channel","databaseUpdateTimes","expirationData"],"type":"object","properties":{"channel":{"type":"string","description":"Name of the channel."},"databaseUpdateTimes":{"type":"array","description":"The last update times of the various databases.","items":{"$ref":"#/components/schemas/DatabaseUpdateTimes"}},"expirationData":{"type":"array","description":"The expiration status of the database.","items":{"$ref":"#/components/schemas/ExpirationData"}}}},"DatabaseUpdateTimes":{"required":["database"],"type":"object","properties":{"database":{"type":"string","description":"Name of the Database."},"dateIntermediate":{"type":"string","description":"Date the intermediate DB was imported.","format":"date-time"},"dateLoaded":{"type":"string","description":"Date loaded into worldmatch.","format":"date-time"},"lastUpdate":{"type":"string","description":"Date of the last delta update.","format":"date-time"}}},"ExpirationData":{"required":["database"],"type":"object","properties":{"database":{"type":"string","description":"Name of the Database."},"error":{"type":"string","description":"Error message of the error that occurred while getting the expiration info."},"modified":{"type":"string","description":"Date of the last modification time of the database.","format":"date-time"},"modifiedLoaded":{"type":"string","description":"Date of the last modification time of the loaded database.","format":"date-time"}}}}}}
```

## The Facet object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Facet":{"required":["associatedFieldName","detailedLinks","elements","filterStyle","selectedElements","selectionType","showPreviewImages"],"type":"object","properties":{"associatedFieldName":{"type":"string","description":"The name of the field that contains the values represented by this facet."},"decimalPlaces":{"type":"integer","description":"Specifies the amount of digits after the decimal separator for elements of slider facets.","format":"int32"},"detailedLinks":{"type":"integer","description":"Number of links to be displayed (for the selection menu).","format":"int32"},"elements":{"type":"array","description":"The elements shown in the filter.","items":{"$ref":"#/components/schemas/FacetElement"}},"filterStyle":{"type":"string","description":"The style in which the filter should be displayed.","enum":["DEFAULT","SLIDER","MULTISELECT","TREE"]},"name":{"type":"string","description":"Filter name that should be displayed to the user."},"selectedElements":{"type":"array","description":"The elements of the filter that are currently selected.","items":{"$ref":"#/components/schemas/FacetElement"}},"selectionType":{"type":"string","description":"Defines the way this filter behaves when elements are selected.","enum":["singleHideUnselected","singleShowUnselected","multiSelectOr","multiSelectAnd"]},"showPreviewImages":{"type":"boolean","description":"If true, preview images should be displayed to the user."},"type":{"type":"string","description":"The type of the filter elements.","enum":["FLOAT","INTEGER","MULTI","TEXT","CATEGORY_PATH","BOOLEAN","DATE","GTIN","ALPHANUMERIC","PROPERTY","GEO"]},"unit":{"type":"string","description":"The units to be shown, if filter elements represent (for instance) length, or weight."}}},"FacetElement":{"required":["clusterLevel","selected"],"type":"object","properties":{"absoluteMaxValue":{"type":"number","description":"The absolute maximum value for the overall slider range.","format":"double"},"absoluteMinValue":{"type":"number","description":"The absolute minimum value for the overall slider range.","format":"double"},"clusterLevel":{"type":"integer","description":"Level in the cluster hierarchy. Corresponding subcategories have a higher (deeper) level.","format":"int32"},"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"previewImageURL":{"type":"string","description":"URL to the preview image to be displayed with the element."},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, IMPLICIT, if the selection is implicit, IRRELEVANT means, that the element has been selected by the user, but does not match any record of the search result, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]},"selectedMaxValue":{"type":"number","description":"The maximum value of the currently selected slider range.","format":"double"},"selectedMinValue":{"type":"number","description":"The minimum value of the currently selected slider range.","format":"double"},"showDistance":{"type":"boolean","description":"If 'true', the distance should be added to the element name label by frontend."},"text":{"type":"string","description":"The text to be displayed to the user."},"totalHits":{"type":"integer","description":"The number of products that the search result should contain when this facet element is selected.","format":"int32"}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The FacetElement object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"FacetElement":{"required":["clusterLevel","selected"],"type":"object","properties":{"absoluteMaxValue":{"type":"number","description":"The absolute maximum value for the overall slider range.","format":"double"},"absoluteMinValue":{"type":"number","description":"The absolute minimum value for the overall slider range.","format":"double"},"clusterLevel":{"type":"integer","description":"Level in the cluster hierarchy. Corresponding subcategories have a higher (deeper) level.","format":"int32"},"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"previewImageURL":{"type":"string","description":"URL to the preview image to be displayed with the element."},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, IMPLICIT, if the selection is implicit, IRRELEVANT means, that the element has been selected by the user, but does not match any record of the search result, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]},"selectedMaxValue":{"type":"number","description":"The maximum value of the currently selected slider range.","format":"double"},"selectedMinValue":{"type":"number","description":"The minimum value of the currently selected slider range.","format":"double"},"showDistance":{"type":"boolean","description":"If 'true', the distance should be added to the element name label by frontend."},"text":{"type":"string","description":"The text to be displayed to the user."},"totalHits":{"type":"integer","description":"The number of products that the search result should contain when this facet element is selected.","format":"int32"}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The FeedbackEvent object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"FeedbackEvent":{"required":["positive","query","sid"],"type":"object","properties":{"message":{"type":"string","description":"Additional information provided by the user."},"positive":{"type":"boolean","description":"Set to true when the user gives a positive assessment of the result, otherwise false."},"query":{"type":"string","description":"The search term that produced the corresponding search result."},"sid":{"type":"string","description":"The session ID."}}}}}}
```

## The FeedbackText object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"FeedbackText":{"required":["html","label","teaser"],"type":"object","properties":{"html":{"type":"boolean","description":"Set to true, if the text should be displayed as HTML."},"label":{"type":"string","description":"Describes where the text should be displayed."},"position":{"type":"integer","description":"The position the text should be displayed at if it is a teaser","format":"int32"},"teaser":{"type":"boolean","description":"Set to true, if the text is considered a teaser"},"text":{"type":"string","description":"The text to be shown to the user."}}}}}}
```

## The Filter object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}}}}
```

## The FilterValue object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}}}}
```

## The FilterValueInput object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}}}}
```

## The FlatRecord object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"FlatRecord":{"title":"FlatRecord","type":"object","additionalProperties":{"type":"object"},"description":"Represents a FactFinder record. The original input of the operation (will only be transmitted when the query parameter verbose=true was added to the request)."}}}}
```

## The FlatRecordsResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"FlatRecordsResult":{"required":["fieldRoles","records"],"type":"object","properties":{"fieldRoles":{"type":"object","additionalProperties":{"type":"string","description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"records":{"type":"array","description":"A list of found records. Records for IDs which are not present in database will be missing.","items":{"$ref":"#/components/schemas/FlatRecord"}}},"description":"Contains a list of worldmatch records."},"FlatRecord":{"title":"FlatRecord","type":"object","additionalProperties":{"type":"object"},"description":"Represents a FactFinder record. The original input of the operation (will only be transmitted when the query parameter verbose=true was added to the request)."}}}}
```

## The FullRecord object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"FullRecord":{"required":["masterValues","variantValues"],"type":"object","properties":{"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}},"description":"Represents a record with master and variant values."},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."}}}}
```

## The FullRecordsResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"FullRecordsResult":{"required":["fieldRoles","records"],"type":"object","properties":{"fieldRoles":{"type":"object","additionalProperties":{"type":"string","description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"records":{"type":"array","description":"A list of found records. Records for IDs which are not present in database will be missing.","items":{"$ref":"#/components/schemas/FullRecord"}}},"description":"Contains a list of full records with master and variant values."},"FullRecord":{"required":["masterValues","variantValues"],"type":"object","properties":{"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}},"description":"Represents a record with master and variant values."},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."}}}}
```

## The Geo object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Geo":{"required":["markets","selectedMarkets","showDistance","showMarkets"],"type":"object","properties":{"markets":{"type":"array","description":"The unselected markets","items":{"$ref":"#/components/schemas/Market"}},"selectedMarkets":{"type":"array","description":"The selected markets","items":{"$ref":"#/components/schemas/Market"}},"showDistance":{"type":"boolean","description":"Should show the distance attached to the markets."},"showMarkets":{"type":"boolean","description":"Should show the list of all existing markets."}},"description":"Contains the selected and unselected markets."},"Market":{"type":"object","properties":{"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"hasProducts":{"type":"boolean","description":"True, if the market has at least one product mapped to it in the current search result, otherwise false."},"id":{"type":"string","description":"Id of the market"},"location":{"$ref":"#/components/schemas/Location"},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]}}},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The GeoRecord object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"GeoRecord":{"title":"GeoRecord","type":"object","additionalProperties":{"type":"object"},"description":"Represents a geo record. The original input of the operation (will only be transmitted when the query parameter verbose=true was added to the request)."}}}}
```

## The GeoUpdateResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"GeoUpdateResult":{"required":["success"],"type":"object","properties":{"error":{"$ref":"#/components/schemas/ErrorDescription"},"record":{"$ref":"#/components/schemas/GeoRecord"},"success":{"type":"boolean","description":"If true, the operation succeeded. Otherwise an error occurred which will be described in the error field."},"warnings":{"type":"array","description":"A list of all warnings.","items":{"$ref":"#/components/schemas/ErrorDescription"}}}},"ErrorDescription":{"required":["name"],"type":"object","properties":{"description":{"type":"string","description":"A description of the error cause"},"name":{"type":"string","description":"Name of the error"},"stacktrace":{"type":"array","description":"The stacktrace from the error (will only be transmitted when the query parameter verbose=true was added to the request)","items":{"type":"string"}}},"description":"Contains information which will be returned when an error occurs."},"GeoRecord":{"title":"GeoRecord","type":"object","additionalProperties":{"type":"object"},"description":"Represents a geo record. The original input of the operation (will only be transmitted when the query parameter verbose=true was added to the request)."}}}}
```

## The Group object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Group":{"required":["name","roles"],"type":"object","properties":{"name":{"type":"string","description":"The name of the group."},"roles":{"uniqueItems":true,"type":"array","description":"The roles that will be assigned to the users who are part of this group.","items":{"type":"string","enum":["AbTestManager","AfterSearchNavigationManager","BackupManager","CacheManager","CampaignManager","ConfiguratorManager","DeploymentManager","ImportManager","IntermediateOnlyImportManager","InstallManager","LanguageManager","LogfileAnalyzerManager","MayChangePassword","MessagesManager","NotificationManager","PreprocessorManager","RankingManager","RecommendationEngineManager","SearchInterfaceUser","SearchManager","ShowHelpSection","SuggestManager","ThesaurusManager","UserManager","WordValuesManager","SsoManager","ApiImport","ApiAnalytics","ApiPublicQueries","ApiConfig","ApiJobs","ApiDatabase","ApiMonitor","ApiManage","ApiUsers"]}}}}}}}
```

## The ImportChannelResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"ImportChannelResult":{"required":["channel","durationInSeconds","errorMessages","importType","importedFields","startDate","statusMessages"],"type":"object","properties":{"channel":{"type":"string","description":"The channel for which the import was performed."},"durationInSeconds":{"type":"integer","description":"The duration of the import process (seconds).","format":"int64"},"errorMessages":{"type":"array","description":"Import error messages.","items":{"type":"string"}},"importType":{"type":"string","description":"The type of data imported.","enum":["DATA","SUGGEST","RECOMMENDATION","RANKING","CUSTOMER_SPECIFIC_PRICING","GEO","DATA_AND_PRICING","EMBEDDING"]},"importedFields":{"type":"integer","description":"The number of fields imported.","format":"int32"},"importedRecords":{"type":"integer","description":"The number of records imported.","format":"int32"},"importedWorldmatchDocuments":{"type":"integer","description":"The number of records imported into worldmatch.","format":"int32"},"startDate":{"type":"string","description":"The time and date that the import was started.","format":"date-time"},"statusMessages":{"type":"array","description":"Import status messages.","items":{"type":"string"}}}}}}}
```

## The ImportCount object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"ImportCount":{"type":"object","properties":{"count":{"type":"integer","format":"int64"},"type":{"type":"string","enum":["DATA","SUGGEST","RECOMMENDATION","RANKING","CUSTOMER_SPECIFIC_PRICING","GEO","DATA_AND_PRICING","EMBEDDING"]}}}}}}
```

## The ImportState object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"ImportState":{"type":"object","properties":{"importCounts":{"type":"array","description":"Number of imports completed per import type.","items":{"$ref":"#/components/schemas/ImportCount"}}}},"ImportCount":{"type":"object","properties":{"count":{"type":"integer","format":"int64"},"type":{"type":"string","enum":["DATA","SUGGEST","RECOMMENDATION","RANKING","CUSTOMER_SPECIFIC_PRICING","GEO","DATA_AND_PRICING","EMBEDDING"]}}}}}}
```

## The JobTriggerResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"JobTriggerResult":{"required":["status"],"type":"object","properties":{"errorMessage":{"type":"string","description":"The error message describing why the job could not be completed."},"jobGroup":{"type":"string","description":"The group of the triggered job."},"jobName":{"type":"string","description":"The name of the triggered job."},"status":{"type":"string","description":"Results of the attempt to trigger the job.","enum":["SUCCESS","FAILURE"]}}}}}}
```

## The LandingPageClickEvent object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"LandingPageClickEvent":{"required":["campaign","id","pageId","sid"],"type":"object","properties":{"campaign":{"type":"string","description":"The ID of the campaign, which added the product to the landing page."},"id":{"type":"string","description":"The ID of the product."},"masterId":{"type":"string","description":"Contains the master ID, if the article is a variant and 'ID' refers to the variant."},"pageId":{"type":"string","description":"The ID of the landing page."},"purchaserId":{"type":"string","description":"The ID for Customer-Specific Info."},"sid":{"type":"string","description":"The session ID."},"title":{"type":"string","description":"The title of the product."},"userId":{"type":"string","description":"The ID of the user who issued the request."}}}}}}
```

## The Location object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."}}}}
```

## The LoginEvent object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"LoginEvent":{"required":["sid","userId"],"type":"object","properties":{"purchaserId":{"type":"string","description":"The ID for Customer-Specific Info."},"sid":{"type":"string","description":"Session ID."},"userId":{"type":"string","description":"The ID of the user currently logged in."}}}}}}
```

## The Market object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Market":{"type":"object","properties":{"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"hasProducts":{"type":"boolean","description":"True, if the market has at least one product mapped to it in the current search result, otherwise false."},"id":{"type":"string","description":"Id of the market"},"location":{"$ref":"#/components/schemas/Location"},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]}}},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The MarketRecord object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"MarketRecord":{"title":"MarketRecord","type":"object","additionalProperties":{"type":"object"},"description":"Represents a market record. The original input of the operation (will only be transmitted when the query parameter verbose=true was added to the request)."}}}}
```

## The MarketUpdateResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"MarketUpdateResult":{"required":["success"],"type":"object","properties":{"error":{"$ref":"#/components/schemas/ErrorDescription"},"record":{"$ref":"#/components/schemas/MarketRecord"},"success":{"type":"boolean","description":"If true, the operation succeeded. Otherwise an error occurred which will be described in the error field."},"warnings":{"type":"array","description":"A list of all warnings.","items":{"$ref":"#/components/schemas/ErrorDescription"}}}},"ErrorDescription":{"required":["name"],"type":"object","properties":{"description":{"type":"string","description":"A description of the error cause"},"name":{"type":"string","description":"Name of the error"},"stacktrace":{"type":"array","description":"The stacktrace from the error (will only be transmitted when the query parameter verbose=true was added to the request)","items":{"type":"string"}}},"description":"Contains information which will be returned when an error occurs."},"MarketRecord":{"title":"MarketRecord","type":"object","additionalProperties":{"type":"object"},"description":"Represents a market record. The original input of the operation (will only be transmitted when the query parameter verbose=true was added to the request)."}}}}
```

## The MetaRequest object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"MetaRequest":{"required":["ids"],"type":"object","properties":{"ids":{"maxItems":2147483647,"minItems":1,"type":"array","description":"The record ids of the records which should be returned.","items":{"type":"string"}}}}}}}
```

## The NavigationParams object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"NavigationParams":{"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"The params describing the search."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The NavigationRequest object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"NavigationRequest":{"required":["params"],"type":"object","properties":{"params":{"$ref":"#/components/schemas/NavigationParams"},"searchControlParams":{"$ref":"#/components/schemas/SearchControlParams"},"sid":{"type":"string","description":"The session ID of the user sending this search request."},"userId":{"type":"string","description":"The user ID of the user sending this search request."}}},"NavigationParams":{"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"The params describing the search."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}},"SearchControlParams":{"type":"object","properties":{"deduplicationField":{"type":"string","description":"Specifies on which field variants should be deduplicated."},"idsOnly":{"type":"boolean","description":"If true, the returned records will contain only record IDs."},"useAbTest":{"type":"boolean","description":"If true, abTest features will be active."},"useAsn":{"type":"boolean","description":"If true, filters should be generated for the result."},"useAso":{"type":"boolean","description":"If true, automatic search optimization will be used."},"useAtlasAi":{"type":"boolean","description":"If true, Atlas AI will be used."},"useCache":{"type":"boolean","description":"If true, the search result will be returned from cache memory, if a possible matching result exists."},"useCampaigns":{"type":"boolean","description":"If true, campaigns corresponding to this search result will be returned."},"useDeduplication":{"type":"boolean","description":"If true, the configured deduplication of variants will be used."},"useFoundWords":{"type":"boolean","description":"If true, the words that led to the records in the search results will be determined; this may require a large amount of processing time."},"useGeo":{"type":"boolean","description":"If true, geoSearch features will be active."},"usePersonalization":{"type":"boolean","description":"If true, the relevant products in the result will be personalized."},"useRanking":{"type":"boolean","description":"If true, ranking will be applied."},"useSearch":{"type":"boolean","description":"If true, search will be executed for the query."},"useSemanticEnhancer":{"type":"boolean","description":"If true, the semantic enhancer will be used."},"useVectorSearchMode":{"type":"string","description":"Specifies the integration of keyword search and vector search.","enum":["DISABLED","FALLBACK","ONLY","HYBRID"]}},"description":"The search control parameters used to generate this search result."}}}}
```

## The PageLink object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"PageLink":{"required":["currentPage","number"],"type":"object","properties":{"currentPage":{"type":"boolean","description":"True, when this page is the current page."},"number":{"type":"integer","description":"Number of the page in the search result.","format":"int32"},"searchParams":{"$ref":"#/components/schemas/SearchParams"}},"description":"Defines the page to be requested when the 'next page' link is selected."},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The Paging object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Paging":{"required":["currentPage","defaultHitsPerPage","hitsPerPage","nextLink","pageCount","previousLink"],"type":"object","properties":{"currentPage":{"type":"integer","description":"The number of the currently selected page.","format":"int32"},"defaultHitsPerPage":{"type":"integer","description":"The default number of products shown per page, as defined in the configuration.","format":"int32"},"hitsPerPage":{"type":"integer","description":"The number of products shown per page (the last page may contain fewer products).","format":"int32"},"nextLink":{"$ref":"#/components/schemas/PageLink"},"pageCount":{"type":"integer","description":"The total number of pages for this search result.","format":"int32"},"previousLink":{"$ref":"#/components/schemas/PageLink"}},"description":"Defines the paging properties."},"PageLink":{"required":["currentPage","number"],"type":"object","properties":{"currentPage":{"type":"boolean","description":"True, when this page is the current page."},"number":{"type":"integer","description":"Number of the page in the search result.","format":"int32"},"searchParams":{"$ref":"#/components/schemas/SearchParams"}},"description":"Defines the page to be requested when the 'next page' link is selected."},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The Permissions object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Permissions":{"required":["allowAllCurrentAndFutureChannels","channels","groups","roles"],"type":"object","properties":{"allowAllCurrentAndFutureChannels":{"type":"boolean","description":"If set to true the user has access to all channels. In that case any explicitly specified channels are ignored."},"channels":{"uniqueItems":true,"type":"array","description":"The channels assigned to the user.","items":{"type":"string"}},"groups":{"uniqueItems":true,"type":"array","description":"The groups assigned to the user.","items":{"type":"string"}},"roles":{"uniqueItems":true,"type":"array","description":"The roles assigned to the user.","items":{"type":"string","enum":["AbTestManager","AfterSearchNavigationManager","BackupManager","CacheManager","CampaignManager","ConfiguratorManager","DeploymentManager","ImportManager","IntermediateOnlyImportManager","InstallManager","LanguageManager","LogfileAnalyzerManager","MayChangePassword","MessagesManager","NotificationManager","PreprocessorManager","RankingManager","RecommendationEngineManager","SearchInterfaceUser","SearchManager","ShowHelpSection","SuggestManager","ThesaurusManager","UserManager","WordValuesManager","SsoManager","ApiImport","ApiAnalytics","ApiPublicQueries","ApiConfig","ApiJobs","ApiDatabase","ApiMonitor","ApiManage","ApiUsers"]}}},"description":"Contains all permission related settings of a FactFinder user."}}}}
```

## The PopularSearch object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"PopularSearch":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string","description":"The name for the Popular searches entry that should be displayed to the user."},"type":{"type":"string","description":"The suggestion type."}}}}}}
```

## The PopularSearchesResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"PopularSearchesResult":{"required":["popularSearches"],"type":"object","properties":{"popularSearches":{"type":"array","description":"The requested popular searches.","items":{"$ref":"#/components/schemas/PopularSearch"}}},"description":"Contains a list of popular searches."},"PopularSearch":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string","description":"The name for the Popular searches entry that should be displayed to the user."},"type":{"type":"string","description":"The suggestion type."}}}}}}
```

## The PredBasketClickEvent object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"PredBasketClickEvent":{"required":["id","sid","userId"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the product."},"masterId":{"type":"string","description":"Contains the master ID, if the article is a variant and 'ID' refers to the variant."},"purchaserId":{"type":"string","description":"The ID for Customer-Specific Info."},"sid":{"type":"string","description":"The session ID."},"title":{"type":"string","description":"The title of the product."},"userId":{"type":"string","description":"The user ID of the user clicking the suggested product."}}}}}}
```

## The PredictiveBasketResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"PredictiveBasketResult":{"required":["hits"],"type":"object","properties":{"hits":{"type":"array","description":"Records of the predicted products.","items":{"$ref":"#/components/schemas/TypedFlatRecord"}}}},"TypedFlatRecord":{"required":["values"],"type":"object","properties":{"id":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"object","description":"Contains all the fields present in the record and their corresponding values. If variants exists the values of a specific variant (usually the first) are merged into this map."},"description":"Contains all the fields present in the record and their corresponding values. If variants exists the values of a specific variant (usually the first) are merged into this map."}}}}}}
```

## The Question object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Question":{"required":["answers","id","text","visible"],"type":"object","properties":{"answers":{"type":"array","description":"The answers associated to this question.","items":{"$ref":"#/components/schemas/Answer"}},"id":{"type":"string","description":"The ID of the question."},"text":{"type":"string","description":"The text to be shown to the user."},"visible":{"type":"boolean","description":"Set to true when the question is visible."}}},"Answer":{"required":["id","searchParams","selected","text"],"type":"object","properties":{"id":{"type":"string","description":"ID of this answer."},"questions":{"type":"array","description":"The questions to be shown when the answer is selected.","items":{"$ref":"#/components/schemas/Question"}},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"boolean","description":"True if the answer has been selected."},"text":{"type":"string","description":"Text, shown when the answer is active."}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The RecommendationClickEvent object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"RecommendationClickEvent":{"required":["id","mainId","sid"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the product."},"mainId":{"type":"string","description":"The product ID for which the clicked product was recommended."},"masterId":{"type":"string","description":"Contains the master ID, if the article is a variant and 'ID' refers to the variant."},"purchaserId":{"type":"string","description":"The ID for Customer-Specific Info."},"sid":{"type":"string","description":"The session ID."},"title":{"type":"string","description":"The title of the product."},"userId":{"type":"string","description":"The ID of the user who issued the request."}}}}}}
```

## The RecommendationResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"RecommendationResult":{"required":["hits","timedOut"],"type":"object","properties":{"hits":{"type":"array","description":"Records of the recommended products.","items":{"$ref":"#/components/schemas/RecordWithId"}},"timedOut":{"type":"boolean","description":"Set to true when a timeout occurs."}},"description":"Recommendations for the product with the requested ID."},"RecordWithId":{"required":["id","masterValues","variantValues"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."}}}}
```

## The RecommendationResultWithFieldRoles object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"RecommendationResultWithFieldRoles":{"required":["fieldRoles","hits","timedOut"],"type":"object","properties":{"fieldRoles":{"type":"object","additionalProperties":{"type":"string","description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"geo":{"$ref":"#/components/schemas/Geo"},"hits":{"type":"array","description":"Records of the recommended products.","items":{"$ref":"#/components/schemas/RecordWithId"}},"timedOut":{"type":"boolean","description":"Set to true when a timeout occurs."}}},"Geo":{"required":["markets","selectedMarkets","showDistance","showMarkets"],"type":"object","properties":{"markets":{"type":"array","description":"The unselected markets","items":{"$ref":"#/components/schemas/Market"}},"selectedMarkets":{"type":"array","description":"The selected markets","items":{"$ref":"#/components/schemas/Market"}},"showDistance":{"type":"boolean","description":"Should show the distance attached to the markets."},"showMarkets":{"type":"boolean","description":"Should show the list of all existing markets."}},"description":"Contains the selected and unselected markets."},"Market":{"type":"object","properties":{"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"hasProducts":{"type":"boolean","description":"True, if the market has at least one product mapped to it in the current search result, otherwise false."},"id":{"type":"string","description":"Id of the market"},"location":{"$ref":"#/components/schemas/Location"},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]}}},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}},"RecordWithId":{"required":["id","masterValues","variantValues"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."}}}}
```

## The RecordMeta object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"RecordMeta":{"type":"object","properties":{"id":{"type":"string","description":"The record ID. Depending on the chosen ID type, this field contains the master or variant ID."},"state":{"type":"string","description":"The visibility of this record.","enum":["VISIBLE","NOT_FOUND"]}}}}}}
```

## The RecordMetaResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"RecordMetaResult":{"type":"object","properties":{"entries":{"type":"array","description":"A list of record meta information.","items":{"$ref":"#/components/schemas/RecordMeta"}}}},"RecordMeta":{"type":"object","properties":{"id":{"type":"string","description":"The record ID. Depending on the chosen ID type, this field contains the master or variant ID."},"state":{"type":"string","description":"The visibility of this record.","enum":["VISIBLE","NOT_FOUND"]}}}}}}
```

## The RecordWithId object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"RecordWithId":{"required":["id","masterValues","variantValues"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."}}}}
```

## The Result object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Result":{"required":["answers","articleNumberSearch","breadCrumbTrail","campaigns","exactSearchMode","facets","fieldRoles","filters","hits","resultType","scoreFirstHit","scoreLastHit","searchControlParams","singleWordResults","sortItems","splitDocuments","timedOut","tookAtlasAi","tookGPTSynonyms","tookLoop54","tookTotal","tookVector","tookWorldmatch","totalHits"],"type":"object","properties":{"answers":{"type":"array","description":"The selected answers of this result.","items":{"$ref":"#/components/schemas/Answer"}},"articleNumberSearch":{"type":"boolean","description":"Set to true when an article number search was performed."},"breadCrumbTrail":{"type":"array","description":"Describes the actions that lead to the current result. This may be used to return to an intermediate search result.","items":{"$ref":"#/components/schemas/BreadCrumbTrailItem"}},"campaigns":{"type":"array","description":"Contains the active campaigns for this result.","items":{"$ref":"#/components/schemas/Campaign"}},"exactSearchMode":{"type":"string","description":"The mode of the exact search that was applied.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"facets":{"type":"array","description":"The ASN filters (for after search navigation).","items":{"$ref":"#/components/schemas/Facet"}},"fieldRoles":{"type":"object","additionalProperties":{"type":"string","description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"filters":{"type":"array","description":"The filter applied for this result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Request linking param for follow-up search requests. Can improve request performance."},"geo":{"$ref":"#/components/schemas/Geo"},"hits":{"type":"array","description":"The relevant products.","items":{"$ref":"#/components/schemas/SearchRecord"}},"paging":{"$ref":"#/components/schemas/Paging"},"resultType":{"type":"string","description":"The type of the search result.","enum":["KEYWORD","VECTOR","HYBRID","FALLBACK"]},"scoreFirstHit":{"type":"number","description":"The score of the best match in the search result.","format":"double"},"scoreLastHit":{"type":"number","description":"The score of the worst match in the search result.","format":"double"},"searchControlParams":{"$ref":"#/components/schemas/SearchControlParams"},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"singleWordResults":{"type":"array","description":"Contains the result from the Single word search.","items":{"$ref":"#/components/schemas/SingleWordSearchResult"}},"sortItems":{"type":"array","description":"Contains the available sortings.","items":{"$ref":"#/components/schemas/DescribedSortItem"}},"splitDocuments":{"type":"boolean","description":"If true, this result was created with variants split into separate documents"},"timedOut":{"type":"boolean","description":"If true, this search took longer than the timeout currently defined. Therefore, the results may not contain all relevant products."},"tookAtlasAi":{"minimum":0,"type":"integer","description":"The time required for Atlas AI searches (in ms).","format":"int64"},"tookGPTSynonyms":{"minimum":0,"type":"integer","description":"The time required for live GPT synonym generation (in ms).","format":"int64"},"tookLoop54":{"minimum":0,"type":"integer","description":"The time required for loop54 personalization (in ms).","format":"int64"},"tookTotal":{"minimum":0,"type":"integer","description":"The time required to produce the results in the framework (in ms).","format":"int64"},"tookVector":{"minimum":0,"type":"integer","description":"The time required for vector search (in ms).","format":"int64"},"tookWorldmatch":{"minimum":0,"type":"integer","description":"The time required to produce the results in the core (in ms).","format":"int64"},"totalHits":{"minimum":0,"type":"integer","description":"Total number of items in the search result.","format":"int32"}}},"Answer":{"required":["id","searchParams","selected","text"],"type":"object","properties":{"id":{"type":"string","description":"ID of this answer."},"questions":{"type":"array","description":"The questions to be shown when the answer is selected.","items":{"$ref":"#/components/schemas/Question"}},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"boolean","description":"True if the answer has been selected."},"text":{"type":"string","description":"Text, shown when the answer is active."}}},"Question":{"required":["answers","id","text","visible"],"type":"object","properties":{"answers":{"type":"array","description":"The answers associated to this question.","items":{"$ref":"#/components/schemas/Answer"}},"id":{"type":"string","description":"The ID of the question."},"text":{"type":"string","description":"The text to be shown to the user."},"visible":{"type":"boolean","description":"Set to true when the question is visible."}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}},"BreadCrumbTrailItem":{"required":["type"],"type":"object","properties":{"associatedFieldName":{"type":"string","description":"Contains the name of the field on which the filter operates. Used for filter type items."},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"text":{"type":"string","description":"The text to be displayed to the user."},"type":{"type":"string","description":"Breadcrumb trail item type.","enum":["search","filter","advisor","unspecified"]},"value":{"type":"object","description":"Contains information corresponding to the item type (for example, contains the search term for the search type)."}}},"Campaign":{"required":["advisorTree","category","flavour"],"type":"object","properties":{"activeQuestions":{"type":"array","description":"The currently active questions to be shown to the user. These questions do not need to be the root questions, in case the user has already answered a question.","items":{"$ref":"#/components/schemas/Question"}},"ad":{"type":"boolean","description":"The setting which defines if this campaign is used as an ad."},"advisorTree":{"type":"array","description":"The advisor root questions associated with this campaign.","items":{"$ref":"#/components/schemas/Question"}},"category":{"type":"string","description":"The category of the campaign. May be empty."},"excludeProductsNotInMarkets":{"type":"boolean","description":"The setting which decides whether pushed products should be excluded if they are not mapped to any selected market."},"excludeProductsNotInRange":{"type":"boolean","description":"The setting which decides whether pushed products should be excluded if they are not close enough to the search location."},"feedbackTexts":{"type":"array","description":"The feedback text lines that will be displayed to the user.","items":{"$ref":"#/components/schemas/FeedbackText"}},"flavour":{"type":"string","description":"The kind of the campaign.","enum":["ADVISOR","REDIRECT","FEEDBACK","PRODUCT"]},"hits":{"type":"array","description":"The records associated with the campaign, if it should push products.","items":{"$ref":"#/components/schemas/RecordWithId"}},"id":{"type":"string","description":"The ID of the campaign."},"name":{"type":"string","description":"The name of the campaign."},"target":{"$ref":"#/components/schemas/Target"}}},"FeedbackText":{"required":["html","label","teaser"],"type":"object","properties":{"html":{"type":"boolean","description":"Set to true, if the text should be displayed as HTML."},"label":{"type":"string","description":"Describes where the text should be displayed."},"position":{"type":"integer","description":"The position the text should be displayed at if it is a teaser","format":"int32"},"teaser":{"type":"boolean","description":"Set to true, if the text is considered a teaser"},"text":{"type":"string","description":"The text to be shown to the user."}}},"RecordWithId":{"required":["id","masterValues","variantValues"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."},"Target":{"required":["destination"],"type":"object","properties":{"destination":{"type":"string","description":"The URL to which the user should be redirected."},"name":{"type":"string","description":"A name to identify the target URL."}},"description":"The redirect target."},"Facet":{"required":["associatedFieldName","detailedLinks","elements","filterStyle","selectedElements","selectionType","showPreviewImages"],"type":"object","properties":{"associatedFieldName":{"type":"string","description":"The name of the field that contains the values represented by this facet."},"decimalPlaces":{"type":"integer","description":"Specifies the amount of digits after the decimal separator for elements of slider facets.","format":"int32"},"detailedLinks":{"type":"integer","description":"Number of links to be displayed (for the selection menu).","format":"int32"},"elements":{"type":"array","description":"The elements shown in the filter.","items":{"$ref":"#/components/schemas/FacetElement"}},"filterStyle":{"type":"string","description":"The style in which the filter should be displayed.","enum":["DEFAULT","SLIDER","MULTISELECT","TREE"]},"name":{"type":"string","description":"Filter name that should be displayed to the user."},"selectedElements":{"type":"array","description":"The elements of the filter that are currently selected.","items":{"$ref":"#/components/schemas/FacetElement"}},"selectionType":{"type":"string","description":"Defines the way this filter behaves when elements are selected.","enum":["singleHideUnselected","singleShowUnselected","multiSelectOr","multiSelectAnd"]},"showPreviewImages":{"type":"boolean","description":"If true, preview images should be displayed to the user."},"type":{"type":"string","description":"The type of the filter elements.","enum":["FLOAT","INTEGER","MULTI","TEXT","CATEGORY_PATH","BOOLEAN","DATE","GTIN","ALPHANUMERIC","PROPERTY","GEO"]},"unit":{"type":"string","description":"The units to be shown, if filter elements represent (for instance) length, or weight."}}},"FacetElement":{"required":["clusterLevel","selected"],"type":"object","properties":{"absoluteMaxValue":{"type":"number","description":"The absolute maximum value for the overall slider range.","format":"double"},"absoluteMinValue":{"type":"number","description":"The absolute minimum value for the overall slider range.","format":"double"},"clusterLevel":{"type":"integer","description":"Level in the cluster hierarchy. Corresponding subcategories have a higher (deeper) level.","format":"int32"},"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"previewImageURL":{"type":"string","description":"URL to the preview image to be displayed with the element."},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, IMPLICIT, if the selection is implicit, IRRELEVANT means, that the element has been selected by the user, but does not match any record of the search result, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]},"selectedMaxValue":{"type":"number","description":"The maximum value of the currently selected slider range.","format":"double"},"selectedMinValue":{"type":"number","description":"The minimum value of the currently selected slider range.","format":"double"},"showDistance":{"type":"boolean","description":"If 'true', the distance should be added to the element name label by frontend."},"text":{"type":"string","description":"The text to be displayed to the user."},"totalHits":{"type":"integer","description":"The number of products that the search result should contain when this facet element is selected.","format":"int32"}}},"Geo":{"required":["markets","selectedMarkets","showDistance","showMarkets"],"type":"object","properties":{"markets":{"type":"array","description":"The unselected markets","items":{"$ref":"#/components/schemas/Market"}},"selectedMarkets":{"type":"array","description":"The selected markets","items":{"$ref":"#/components/schemas/Market"}},"showDistance":{"type":"boolean","description":"Should show the distance attached to the markets."},"showMarkets":{"type":"boolean","description":"Should show the list of all existing markets."}},"description":"Contains the selected and unselected markets."},"Market":{"type":"object","properties":{"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"hasProducts":{"type":"boolean","description":"True, if the market has at least one product mapped to it in the current search result, otherwise false."},"id":{"type":"string","description":"Id of the market"},"location":{"$ref":"#/components/schemas/Location"},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]}}},"SearchRecord":{"required":["foundWords","id","masterValues","position","score","variantValues"],"type":"object","properties":{"foundWords":{"type":"array","description":"The words that caused this record to be part of the result.","items":{"type":"string"}},"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"position":{"type":"integer","description":"The position of the record in the search results (starting with 0).","format":"int32"},"score":{"type":"number","description":"Defines how well the record matches the search term.","format":"float"},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"Paging":{"required":["currentPage","defaultHitsPerPage","hitsPerPage","nextLink","pageCount","previousLink"],"type":"object","properties":{"currentPage":{"type":"integer","description":"The number of the currently selected page.","format":"int32"},"defaultHitsPerPage":{"type":"integer","description":"The default number of products shown per page, as defined in the configuration.","format":"int32"},"hitsPerPage":{"type":"integer","description":"The number of products shown per page (the last page may contain fewer products).","format":"int32"},"nextLink":{"$ref":"#/components/schemas/PageLink"},"pageCount":{"type":"integer","description":"The total number of pages for this search result.","format":"int32"},"previousLink":{"$ref":"#/components/schemas/PageLink"}},"description":"Defines the paging properties."},"PageLink":{"required":["currentPage","number"],"type":"object","properties":{"currentPage":{"type":"boolean","description":"True, when this page is the current page."},"number":{"type":"integer","description":"Number of the page in the search result.","format":"int32"},"searchParams":{"$ref":"#/components/schemas/SearchParams"}},"description":"Defines the page to be requested when the 'next page' link is selected."},"SearchControlParams":{"type":"object","properties":{"deduplicationField":{"type":"string","description":"Specifies on which field variants should be deduplicated."},"idsOnly":{"type":"boolean","description":"If true, the returned records will contain only record IDs."},"useAbTest":{"type":"boolean","description":"If true, abTest features will be active."},"useAsn":{"type":"boolean","description":"If true, filters should be generated for the result."},"useAso":{"type":"boolean","description":"If true, automatic search optimization will be used."},"useAtlasAi":{"type":"boolean","description":"If true, Atlas AI will be used."},"useCache":{"type":"boolean","description":"If true, the search result will be returned from cache memory, if a possible matching result exists."},"useCampaigns":{"type":"boolean","description":"If true, campaigns corresponding to this search result will be returned."},"useDeduplication":{"type":"boolean","description":"If true, the configured deduplication of variants will be used."},"useFoundWords":{"type":"boolean","description":"If true, the words that led to the records in the search results will be determined; this may require a large amount of processing time."},"useGeo":{"type":"boolean","description":"If true, geoSearch features will be active."},"usePersonalization":{"type":"boolean","description":"If true, the relevant products in the result will be personalized."},"useRanking":{"type":"boolean","description":"If true, ranking will be applied."},"useSearch":{"type":"boolean","description":"If true, search will be executed for the query."},"useSemanticEnhancer":{"type":"boolean","description":"If true, the semantic enhancer will be used."},"useVectorSearchMode":{"type":"string","description":"Specifies the integration of keyword search and vector search.","enum":["DISABLED","FALLBACK","ONLY","HYBRID"]}},"description":"The search control parameters used to generate this search result."},"SingleWordSearchResult":{"required":["previewRecords","totalHits","word"],"type":"object","properties":{"previewRecords":{"type":"array","description":"The first few products of the search result, to be used as a preview.","items":{"$ref":"#/components/schemas/SearchRecord"}},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"totalHits":{"type":"integer","description":"The total number of items to be expected in this search result.","format":"int32"},"word":{"type":"string","description":"The term that was searched for."}}},"DescribedSortItem":{"required":["description","name","order","searchParams","selected"],"type":"object","properties":{"description":{"type":"string","description":"The sorting option description, which should be displayed frontend."},"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction.","enum":["asc","desc"]},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"boolean","description":"If true, the sorting is applied to the current search result."}}}}}}
```

## The ResultSuggestion object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"ResultSuggestion":{"required":["attributes","hitCount","name","type"],"type":"object","properties":{"attributes":{"type":"object","additionalProperties":{"type":"object","description":"Contains additional information for the suggestion. Keys give the names of the attributes, with corresponding values."},"description":"Contains additional information for the suggestion. Keys give the names of the attributes, with corresponding values."},"hitCount":{"type":"integer","description":"The number of products that should be found when this suggestion is selected for a search.","format":"int32"},"image":{"type":"string","description":"The URL of the image to be displayed to the user."},"name":{"type":"string","description":"The name for the Suggest Entry that should be displayed to the user."},"score":{"type":"number","description":"Defines how well the suggestion matches the query.","format":"double"},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"type":{"type":"string","description":"The suggestion type."}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The SearchControlParams object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SearchControlParams":{"type":"object","properties":{"deduplicationField":{"type":"string","description":"Specifies on which field variants should be deduplicated."},"idsOnly":{"type":"boolean","description":"If true, the returned records will contain only record IDs."},"useAbTest":{"type":"boolean","description":"If true, abTest features will be active."},"useAsn":{"type":"boolean","description":"If true, filters should be generated for the result."},"useAso":{"type":"boolean","description":"If true, automatic search optimization will be used."},"useAtlasAi":{"type":"boolean","description":"If true, Atlas AI will be used."},"useCache":{"type":"boolean","description":"If true, the search result will be returned from cache memory, if a possible matching result exists."},"useCampaigns":{"type":"boolean","description":"If true, campaigns corresponding to this search result will be returned."},"useDeduplication":{"type":"boolean","description":"If true, the configured deduplication of variants will be used."},"useFoundWords":{"type":"boolean","description":"If true, the words that led to the records in the search results will be determined; this may require a large amount of processing time."},"useGeo":{"type":"boolean","description":"If true, geoSearch features will be active."},"usePersonalization":{"type":"boolean","description":"If true, the relevant products in the result will be personalized."},"useRanking":{"type":"boolean","description":"If true, ranking will be applied."},"useSearch":{"type":"boolean","description":"If true, search will be executed for the query."},"useSemanticEnhancer":{"type":"boolean","description":"If true, the semantic enhancer will be used."},"useVectorSearchMode":{"type":"string","description":"Specifies the integration of keyword search and vector search.","enum":["DISABLED","FALLBACK","ONLY","HYBRID"]}},"description":"The search control parameters used to generate this search result."}}}}
```

## The SearchLogEvent object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SearchLogEvent":{"required":["filters","hitCount","id","maxScore","minScore","page","pageSize","query","searchTime","sid"],"type":"object","properties":{"additionalInfo":{"type":"string","description":"Additional information that should be logged."},"customSorting":{"type":"boolean","description":"Set to true, if the search result was sorted using a custom sorting order, otherwise false."},"filters":{"type":"array","description":"The filters active in the search result.","items":{"$ref":"#/components/schemas/Filter"}},"hitCount":{"type":"integer","description":"The total number of products in the search result.","format":"int32"},"id":{"type":"string","description":"The ID of the product."},"masterId":{"type":"string","description":"Contains the master ID, if the article is a variant and 'ID' refers to the variant."},"maxScore":{"type":"integer","description":"The score of the first product in the result.","format":"int32"},"minScore":{"type":"integer","description":"The score of the last product in the result.","format":"int32"},"page":{"type":"integer","description":"The page number delivered by the search result.","format":"int32"},"pageSize":{"type":"integer","description":"The maximum number of products on a page.","format":"int32"},"purchaserId":{"type":"string","description":"The ID for Customer-Specific Info."},"query":{"type":"string","description":"The search term that produced the search result."},"searchField":{"type":"string","description":"Contains the name of the search field, if the search was performed on a specific field."},"searchTime":{"type":"integer","description":"The time required to produce the results (in ms).","format":"int32"},"sid":{"type":"string","description":"The session ID."},"title":{"type":"string","description":"The title of the product."},"userId":{"type":"string","description":"The ID of the user who issued the request."}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}}}}
```

## The SearchParams object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The SearchRecord object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SearchRecord":{"required":["foundWords","id","masterValues","position","score","variantValues"],"type":"object","properties":{"foundWords":{"type":"array","description":"The words that caused this record to be part of the result.","items":{"type":"string"}},"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"position":{"type":"integer","description":"The position of the record in the search results (starting with 0).","format":"int32"},"score":{"type":"number","description":"Defines how well the record matches the search term.","format":"float"},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."}}}}
```

## The SearchRequest object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SearchRequest":{"required":["params"],"type":"object","properties":{"params":{"$ref":"#/components/schemas/SearchParams"},"searchControlParams":{"$ref":"#/components/schemas/SearchControlParams"},"sid":{"type":"string","description":"The session ID of the user sending this search request."},"userId":{"type":"string","description":"The user ID of the user sending this search request."},"userInput":{"type":"string","description":"The search term entered by the user when a suggestion led to this search request."}}},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}},"SearchControlParams":{"type":"object","properties":{"deduplicationField":{"type":"string","description":"Specifies on which field variants should be deduplicated."},"idsOnly":{"type":"boolean","description":"If true, the returned records will contain only record IDs."},"useAbTest":{"type":"boolean","description":"If true, abTest features will be active."},"useAsn":{"type":"boolean","description":"If true, filters should be generated for the result."},"useAso":{"type":"boolean","description":"If true, automatic search optimization will be used."},"useAtlasAi":{"type":"boolean","description":"If true, Atlas AI will be used."},"useCache":{"type":"boolean","description":"If true, the search result will be returned from cache memory, if a possible matching result exists."},"useCampaigns":{"type":"boolean","description":"If true, campaigns corresponding to this search result will be returned."},"useDeduplication":{"type":"boolean","description":"If true, the configured deduplication of variants will be used."},"useFoundWords":{"type":"boolean","description":"If true, the words that led to the records in the search results will be determined; this may require a large amount of processing time."},"useGeo":{"type":"boolean","description":"If true, geoSearch features will be active."},"usePersonalization":{"type":"boolean","description":"If true, the relevant products in the result will be personalized."},"useRanking":{"type":"boolean","description":"If true, ranking will be applied."},"useSearch":{"type":"boolean","description":"If true, search will be executed for the query."},"useSemanticEnhancer":{"type":"boolean","description":"If true, the semantic enhancer will be used."},"useVectorSearchMode":{"type":"string","description":"Specifies the integration of keyword search and vector search.","enum":["DISABLED","FALLBACK","ONLY","HYBRID"]}},"description":"The search control parameters used to generate this search result."}}}}
```

## The SimilarAttributeInfo object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SimilarAttributeInfo":{"required":["name","value"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field containing the attribute to be compared for similarity."},"value":{"type":"string","description":"Attribute value."}}}}}}
```

## The SimilarProducts object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SimilarProducts":{"required":["attributes","hits"],"type":"object","properties":{"attributes":{"type":"array","description":"The criteria used to find the similar products.","items":{"$ref":"#/components/schemas/SimilarAttributeInfo"}},"hits":{"type":"array","description":"The similar products.","items":{"$ref":"#/components/schemas/RecordWithId"}}},"description":"Products similar to the product with the requested ID."},"SimilarAttributeInfo":{"required":["name","value"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field containing the attribute to be compared for similarity."},"value":{"type":"string","description":"Attribute value."}}},"RecordWithId":{"required":["id","masterValues","variantValues"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."}}}}
```

## The SimilarProductsWithFieldRoles object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SimilarProductsWithFieldRoles":{"required":["attributes","fieldRoles","hits"],"type":"object","properties":{"attributes":{"type":"array","description":"The criteria used to find the similar products.","items":{"$ref":"#/components/schemas/SimilarAttributeInfo"}},"fieldRoles":{"type":"object","additionalProperties":{"type":"string","description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"geo":{"$ref":"#/components/schemas/Geo"},"hits":{"type":"array","description":"The similar products.","items":{"$ref":"#/components/schemas/RecordWithId"}}}},"SimilarAttributeInfo":{"required":["name","value"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field containing the attribute to be compared for similarity."},"value":{"type":"string","description":"Attribute value."}}},"Geo":{"required":["markets","selectedMarkets","showDistance","showMarkets"],"type":"object","properties":{"markets":{"type":"array","description":"The unselected markets","items":{"$ref":"#/components/schemas/Market"}},"selectedMarkets":{"type":"array","description":"The selected markets","items":{"$ref":"#/components/schemas/Market"}},"showDistance":{"type":"boolean","description":"Should show the distance attached to the markets."},"showMarkets":{"type":"boolean","description":"Should show the list of all existing markets."}},"description":"Contains the selected and unselected markets."},"Market":{"type":"object","properties":{"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"hasProducts":{"type":"boolean","description":"True, if the market has at least one product mapped to it in the current search result, otherwise false."},"id":{"type":"string","description":"Id of the market"},"location":{"$ref":"#/components/schemas/Location"},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]}}},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}},"RecordWithId":{"required":["id","masterValues","variantValues"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."}}}}
```

## The SingleWordSearchResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SingleWordSearchResult":{"required":["previewRecords","totalHits","word"],"type":"object","properties":{"previewRecords":{"type":"array","description":"The first few products of the search result, to be used as a preview.","items":{"$ref":"#/components/schemas/SearchRecord"}},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"totalHits":{"type":"integer","description":"The total number of items to be expected in this search result.","format":"int32"},"word":{"type":"string","description":"The term that was searched for."}}},"SearchRecord":{"required":["foundWords","id","masterValues","position","score","variantValues"],"type":"object","properties":{"foundWords":{"type":"array","description":"The words that caused this record to be part of the result.","items":{"type":"string"}},"id":{"type":"string","description":"The ID of the record."},"masterValues":{"type":"object","additionalProperties":{"type":"object","description":"Contains all fields in the record, with a string representation of the respective values."},"description":"Contains all fields in the record, with a string representation of the respective values."},"position":{"type":"integer","description":"The position of the record in the search results (starting with 0).","format":"int32"},"score":{"type":"number","description":"Defines how well the record matches the search term.","format":"float"},"variantValues":{"type":"array","description":"Contains variants. The values are mapped from field names to the field value.","items":{"$ref":"#/components/schemas/VariantValues"}}}},"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The SortItem object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The SuggestParams object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SuggestParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"includeMarketIdsForNonResultFields":{"type":"boolean","description":"Controls whether markets should be returned, even if no geo fields are configured as return attributes."},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sid":{"type":"string","description":"The session id. Required for A/B testing."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}}},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}}}}}
```

## The SuggestionResult object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"SuggestionResult":{"required":["articleNumberSearchAllowed","fieldRoles","suggestions"],"type":"object","properties":{"articleNumberSearchAllowed":{"type":"boolean","description":"True, if the field with 'productNumber' field role provides a regex pattern."},"fieldRoles":{"type":"object","additionalProperties":{"type":"string","description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"description":"A field to role mapping. For example, a field role may be 'brand', meaning that the field contains the manufacturer's name. (key = field role, value = field name)"},"geo":{"$ref":"#/components/schemas/Geo"},"splitDocuments":{"type":"boolean","description":"Indicator for document into variant splitting."},"suggestions":{"type":"array","description":"The requested suggestions.","items":{"$ref":"#/components/schemas/ResultSuggestion"}}},"description":"Contains a list of suggestions, the field role to field name mapping and the information if an article number search is possible."},"Geo":{"required":["markets","selectedMarkets","showDistance","showMarkets"],"type":"object","properties":{"markets":{"type":"array","description":"The unselected markets","items":{"$ref":"#/components/schemas/Market"}},"selectedMarkets":{"type":"array","description":"The selected markets","items":{"$ref":"#/components/schemas/Market"}},"showDistance":{"type":"boolean","description":"Should show the distance attached to the markets."},"showMarkets":{"type":"boolean","description":"Should show the list of all existing markets."}},"description":"Contains the selected and unselected markets."},"Market":{"type":"object","properties":{"distance":{"type":"number","description":"The distance between the location of the search and the market location associated with this element.","format":"double"},"hasProducts":{"type":"boolean","description":"True, if the market has at least one product mapped to it in the current search result, otherwise false."},"id":{"type":"string","description":"Id of the market"},"location":{"$ref":"#/components/schemas/Location"},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"selected":{"type":"string","description":"TRUE, if the element is currently selected, otherwise FALSE.","enum":["TRUE","FALSE","IMPLICIT","IRRELEVANT"]}}},"Location":{"required":["latitude","longitude"],"type":"object","properties":{"latitude":{"maximum":90,"minimum":-90,"type":"number","description":"The latitude coordinate of the location.","format":"double"},"longitude":{"maximum":180,"minimum":-180,"type":"number","description":"The longitude coordinate of the location.","format":"double"}},"description":"The location of the market."},"SearchParams":{"required":["query"],"type":"object","properties":{"activeAbTests":{"type":"object","additionalProperties":{"type":"string","description":"The active ab tests variants."},"description":"The active ab tests variants."},"advisorStatus":{"$ref":"#/components/schemas/AdvisorCampaignStatusHolder"},"articleNumberSearch":{"type":"string","description":"Specifies if the search term should be interpreted as article number. Defaults to DETECT.","enum":["DETECT","ALWAYS","NEVER"]},"customParameters":{"type":"array","description":"May be used to provide custom parameters, such as for custom classes.","items":{"$ref":"#/components/schemas/CustomParameter"}},"exactSearchMode":{"type":"string","description":"Specifies whether the search term should be considered for the exact search, and how. Defaults to the mode that is configured for the channel.","enum":["LEGACY","DISABLED","EXACT_ONLY","EXACT_AND_FUZZY_FALLBACK","EXACT_AND_ALWAYS_FUZZY","EXACT_AND_REMAINDER_FUZZY"]},"excludeProductsNotInRange":{"type":"boolean","description":"Overrides the excludeProductsNotInRange setting for the geo search."},"filters":{"type":"array","description":"The filters to limit the search result.","items":{"$ref":"#/components/schemas/Filter"}},"followSearch":{"type":"string","description":"Optional request linking param from a previous search result or search param object. Can improve request performance."},"hitsPerPage":{"minimum":0,"type":"integer","description":"Number of products on a single page.","format":"int32"},"location":{"$ref":"#/components/schemas/Location"},"marketIds":{"uniqueItems":true,"type":"array","description":"Only show products that have values for these market IDs.","items":{"type":"string"}},"maxCountVariants":{"type":"integer","description":"Defines the maximum number of variants to be returned in the result.","format":"int32"},"maxDistance":{"minimum":1,"type":"number","description":"Overrides the maximum distance setting for the geo search.","format":"double"},"page":{"minimum":1,"type":"integer","description":"The page to be requested within the search result.","format":"int32"},"purchaserId":{"maxLength":2147483647,"minLength":1,"type":"string","description":"The ID of the purchaser. This ID is only needed if the 'Customer-Specific Info' module is activated. Otherwise it will be ignored."},"query":{"type":"string","description":"The search term."},"searchField":{"type":"string","description":"If set, the search term will be looked for only in the given field. Otherwise all searchable fields will be considered (for article number searches, all fields marked as containing article numbers)."},"showMarkets":{"type":"boolean","description":"Overrides the showMarkets setting for the geo search."},"showPermutedSearchParams":{"type":"boolean","description":"Specifies whether to include search parameters in the response for facet and sort item elements."},"sortItems":{"type":"array","description":"Specifies the sort order for the search result.","items":{"$ref":"#/components/schemas/SortItem"}},"splitDocumentsAt":{"type":"integer","description":"Threshold for variant splitting of documents.","format":"int32"}},"description":"Defines the search that should be executed when the element is clicked."},"AdvisorCampaignStatusHolder":{"required":["id"],"type":"object","properties":{"answerPath":{"type":"string","description":"The currently active path within the advisor tree, which should end at an answer: _QuestionID_AnswerID_QuestionID_AnswerID. If empty or null, the root questions will be shown."},"id":{"type":"string","description":"ID of the advisor campaign."}},"description":"Describes the advisor campaign that is currently active."},"CustomParameter":{"required":["cacheIrrelevant","name","values"],"type":"object","properties":{"cacheIrrelevant":{"type":"boolean","description":"When set to true, the custom parameter will not influence caching."},"name":{"type":"string","description":"The parameter name."},"values":{"type":"array","description":"The parameter values.","items":{"type":"string"}}}},"Filter":{"required":["name","substring","values"],"type":"object","properties":{"filterWarning":{"type":"string","description":"Contains warning about invalid filters (e.g. non-existent field or non-existent value).","enum":["NON_EXISTING_FIELD","NON_EXISTING_FIELD_VALUE"]},"name":{"type":"string","description":"The name of the filter."},"substring":{"type":"boolean","description":"If true, filter values will be applied as 'contains' instead of 'equals'."},"values":{"type":"array","description":"Filter values.","items":{"$ref":"#/components/schemas/FilterValue"}}}},"FilterValue":{"required":["exclude","type","value"],"type":"object","properties":{"exclude":{"type":"boolean","description":"When set to true, the filter will match when the record value does not equal the filter value."},"type":{"type":"string","description":"Describes how this filter value should interact with the corresponding filter field.","enum":["or","and"]},"value":{"$ref":"#/components/schemas/FilterValueInput"}}},"FilterValueInput":{"description":"The value to which the record values will be compared.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"SortItem":{"required":["name","order"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field to be sorted by, or 'Relevancy', for score based sorting."},"order":{"type":"string","description":"The sort order direction (ascending, descending).","enum":["asc","desc"]}}},"ResultSuggestion":{"required":["attributes","hitCount","name","type"],"type":"object","properties":{"attributes":{"type":"object","additionalProperties":{"type":"object","description":"Contains additional information for the suggestion. Keys give the names of the attributes, with corresponding values."},"description":"Contains additional information for the suggestion. Keys give the names of the attributes, with corresponding values."},"hitCount":{"type":"integer","description":"The number of products that should be found when this suggestion is selected for a search.","format":"int32"},"image":{"type":"string","description":"The URL of the image to be displayed to the user."},"name":{"type":"string","description":"The name for the Suggest Entry that should be displayed to the user."},"score":{"type":"number","description":"Defines how well the suggestion matches the query.","format":"double"},"searchParams":{"$ref":"#/components/schemas/SearchParams"},"type":{"type":"string","description":"The suggestion type."}}}}}}
```

## The Target object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"Target":{"required":["destination"],"type":"object","properties":{"destination":{"type":"string","description":"The URL to which the user should be redirected."},"name":{"type":"string","description":"A name to identify the target URL."}},"description":"The redirect target."}}}}
```

## The TypedFlatRecord object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"TypedFlatRecord":{"required":["values"],"type":"object","properties":{"id":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"object","description":"Contains all the fields present in the record and their corresponding values. If variants exists the values of a specific variant (usually the first) are merged into this map."},"description":"Contains all the fields present in the record and their corresponding values. If variants exists the values of a specific variant (usually the first) are merged into this map."}}}}}}
```

## The UiSettings object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"UiSettings":{"required":["enableAdvancedMode","hideErrorNotifications","hideInactiveModules"],"type":"object","properties":{"enableAdvancedMode":{"type":"boolean","description":"In advanced mode the user sees all pages, in normal mode some settings pages are hidden."},"hideErrorNotifications":{"type":"boolean","description":"Whether error notifications should be hidden by default."},"hideInactiveModules":{"type":"boolean","description":"Whether inactive modules should be hidden by default."},"locale":{"type":"string","description":"The language tag representing the locale of the user. May be 'null' when the browser locale setting should be used."}},"description":"Contains all ui related settings of a FactFinder user."}}}}
```

## The User object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"User":{"required":["name","password","permissions","uiSettings"],"type":"object","properties":{"name":{"maxLength":100,"minLength":1,"type":"string","description":"The name of the user."},"password":{"type":"string","description":"The password of the user in plaintext."},"permissions":{"$ref":"#/components/schemas/Permissions"},"ssoEnabled":{"type":"boolean"},"uiSettings":{"$ref":"#/components/schemas/UiSettings"}},"description":"Represents a user, which should be created, and its settings."},"Permissions":{"required":["allowAllCurrentAndFutureChannels","channels","groups","roles"],"type":"object","properties":{"allowAllCurrentAndFutureChannels":{"type":"boolean","description":"If set to true the user has access to all channels. In that case any explicitly specified channels are ignored."},"channels":{"uniqueItems":true,"type":"array","description":"The channels assigned to the user.","items":{"type":"string"}},"groups":{"uniqueItems":true,"type":"array","description":"The groups assigned to the user.","items":{"type":"string"}},"roles":{"uniqueItems":true,"type":"array","description":"The roles assigned to the user.","items":{"type":"string","enum":["AbTestManager","AfterSearchNavigationManager","BackupManager","CacheManager","CampaignManager","ConfiguratorManager","DeploymentManager","ImportManager","IntermediateOnlyImportManager","InstallManager","LanguageManager","LogfileAnalyzerManager","MayChangePassword","MessagesManager","NotificationManager","PreprocessorManager","RankingManager","RecommendationEngineManager","SearchInterfaceUser","SearchManager","ShowHelpSection","SuggestManager","ThesaurusManager","UserManager","WordValuesManager","SsoManager","ApiImport","ApiAnalytics","ApiPublicQueries","ApiConfig","ApiJobs","ApiDatabase","ApiMonitor","ApiManage","ApiUsers"]}}},"description":"Contains all permission related settings of a FactFinder user."},"UiSettings":{"required":["enableAdvancedMode","hideErrorNotifications","hideInactiveModules"],"type":"object","properties":{"enableAdvancedMode":{"type":"boolean","description":"In advanced mode the user sees all pages, in normal mode some settings pages are hidden."},"hideErrorNotifications":{"type":"boolean","description":"Whether error notifications should be hidden by default."},"hideInactiveModules":{"type":"boolean","description":"Whether inactive modules should be hidden by default."},"locale":{"type":"string","description":"The language tag representing the locale of the user. May be 'null' when the browser locale setting should be used."}},"description":"Contains all ui related settings of a FactFinder user."}}}}
```

## The UserInfo object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"UserInfo":{"required":["lastActive","name","origin","permissions","uiSettings"],"type":"object","properties":{"lastActive":{"type":"string","description":"Date of the last activity of the user or the creation date, when the user did not log in, yet.","format":"date-time"},"name":{"type":"string","description":"The name of the user."},"origin":{"type":"string","description":"If the user is managed locally or remotely.","enum":["LOCAL","REMOTE"]},"permissions":{"$ref":"#/components/schemas/Permissions"},"uiSettings":{"$ref":"#/components/schemas/UiSettings"}},"description":"Represents a user and its settings."},"Permissions":{"required":["allowAllCurrentAndFutureChannels","channels","groups","roles"],"type":"object","properties":{"allowAllCurrentAndFutureChannels":{"type":"boolean","description":"If set to true the user has access to all channels. In that case any explicitly specified channels are ignored."},"channels":{"uniqueItems":true,"type":"array","description":"The channels assigned to the user.","items":{"type":"string"}},"groups":{"uniqueItems":true,"type":"array","description":"The groups assigned to the user.","items":{"type":"string"}},"roles":{"uniqueItems":true,"type":"array","description":"The roles assigned to the user.","items":{"type":"string","enum":["AbTestManager","AfterSearchNavigationManager","BackupManager","CacheManager","CampaignManager","ConfiguratorManager","DeploymentManager","ImportManager","IntermediateOnlyImportManager","InstallManager","LanguageManager","LogfileAnalyzerManager","MayChangePassword","MessagesManager","NotificationManager","PreprocessorManager","RankingManager","RecommendationEngineManager","SearchInterfaceUser","SearchManager","ShowHelpSection","SuggestManager","ThesaurusManager","UserManager","WordValuesManager","SsoManager","ApiImport","ApiAnalytics","ApiPublicQueries","ApiConfig","ApiJobs","ApiDatabase","ApiMonitor","ApiManage","ApiUsers"]}}},"description":"Contains all permission related settings of a FactFinder user."},"UiSettings":{"required":["enableAdvancedMode","hideErrorNotifications","hideInactiveModules"],"type":"object","properties":{"enableAdvancedMode":{"type":"boolean","description":"In advanced mode the user sees all pages, in normal mode some settings pages are hidden."},"hideErrorNotifications":{"type":"boolean","description":"Whether error notifications should be hidden by default."},"hideInactiveModules":{"type":"boolean","description":"Whether inactive modules should be hidden by default."},"locale":{"type":"string","description":"The language tag representing the locale of the user. May be 'null' when the browser locale setting should be used."}},"description":"Contains all ui related settings of a FactFinder user."}}}}
```

## The UserUpdate object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"UserUpdate":{"required":["name","permissions","uiSettings"],"type":"object","properties":{"name":{"type":"string","description":"The name of the user."},"permissions":{"$ref":"#/components/schemas/Permissions"},"uiSettings":{"$ref":"#/components/schemas/UiSettings"}},"description":"Represents a user, which should be updated, and its settings."},"Permissions":{"required":["allowAllCurrentAndFutureChannels","channels","groups","roles"],"type":"object","properties":{"allowAllCurrentAndFutureChannels":{"type":"boolean","description":"If set to true the user has access to all channels. In that case any explicitly specified channels are ignored."},"channels":{"uniqueItems":true,"type":"array","description":"The channels assigned to the user.","items":{"type":"string"}},"groups":{"uniqueItems":true,"type":"array","description":"The groups assigned to the user.","items":{"type":"string"}},"roles":{"uniqueItems":true,"type":"array","description":"The roles assigned to the user.","items":{"type":"string","enum":["AbTestManager","AfterSearchNavigationManager","BackupManager","CacheManager","CampaignManager","ConfiguratorManager","DeploymentManager","ImportManager","IntermediateOnlyImportManager","InstallManager","LanguageManager","LogfileAnalyzerManager","MayChangePassword","MessagesManager","NotificationManager","PreprocessorManager","RankingManager","RecommendationEngineManager","SearchInterfaceUser","SearchManager","ShowHelpSection","SuggestManager","ThesaurusManager","UserManager","WordValuesManager","SsoManager","ApiImport","ApiAnalytics","ApiPublicQueries","ApiConfig","ApiJobs","ApiDatabase","ApiMonitor","ApiManage","ApiUsers"]}}},"description":"Contains all permission related settings of a FactFinder user."},"UiSettings":{"required":["enableAdvancedMode","hideErrorNotifications","hideInactiveModules"],"type":"object","properties":{"enableAdvancedMode":{"type":"boolean","description":"In advanced mode the user sees all pages, in normal mode some settings pages are hidden."},"hideErrorNotifications":{"type":"boolean","description":"Whether error notifications should be hidden by default."},"hideInactiveModules":{"type":"boolean","description":"Whether inactive modules should be hidden by default."},"locale":{"type":"string","description":"The language tag representing the locale of the user. May be 'null' when the browser locale setting should be used."}},"description":"Contains all ui related settings of a FactFinder user."}}}}
```

## The VariantValues object

```json
{"openapi":"3.0.1","info":{"title":"FactFinder REST API","version":"v5"},"components":{"schemas":{"VariantValues":{"title":"VariantValues","type":"object","additionalProperties":{"type":"object"},"description":"Contains variants. The values are mapped from field names to the field value."}}}}
```
