# List Products Retrieves product records. Additionally to the /productmanager.fetchproducts endpoint, this command supports filtering by a custom formula set for the configured and evaluated quote. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_FETCHFILTERED | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Data Integration (DATAINTEGRATION), View Competition Data (PB_COMPETITION_RO), View Products (PB_PRODUCTS_RO), Administer Price Lists (PB_PRICELISTS), Manage Products (PB_PRODUCTEDITOR), Manage Price Lists (PB_PRICELISTSEDITOR), Administer LPG (PB_PRICEGRIDS), Manage BoM Data (PB_BOM), Administer Products (PB_PRODUCTS), View QuoteConfigurator (PRICESHOP_RO) Manage Product Master (PB_PRODUCTS_ONLY), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage PromotionManager (CM_CONTRACTMANAGER), Edit Quoting (PRICESHOP_EDIT) Administer Rebates (RM_REBATEMANAGER), Administer Quoting (PRICESHOP_QUOTEADMIN), View Product Details (PB_PDETAILSVIEW), Manage Product Details Only (PB_PDETAILSEDITOR), Manage Claims (CLM_CLAIMMANAGER), Manage Product Master Extensions (PB_PXEDITOR), View BoM Data (PB_BOM_RO), Manage Products & Use EC (PB_PRODUCTEDITOR_EC), Manage Competition Data (PB_COMPETITION), Manage QuoteConfigurator (PRICESHOP), View Price Lists (PB_PRICELISTS_RO) Endpoint: POST /quotemanager.fetchproducts Security: basic, X-PriceFx-jwt ## Request fields (application/json): - `operationType` (string) - `startRow` (number) - `textMatchStyle` (string) - `oldValues` (any) - `distinctResults` (boolean) - `data` (object, required) - `data.quote` (object, required) - `data.quote.label` (string, required) - `data.quote.targetDate` (string, required) - `data.quote.headerText` (string, required) - `data.quote.inputs` (array, required) - `data.quote.inputs.name` (string, required) - `data.quote.inputs.lookupTableId` (any) - `data.quote.inputs.url` (string, required) - `data.quote.inputs.type` (string, required) - `data.quote.inputs.value` (string, required) - `data.quote.inputs.valueHint` (string, required) - `data.quote.inputs.readOnly` (any) - `data.quote.inputs.filter` (any) - `data.quote.inputs.parameterGroup` (any) - `data.quote.inputs.required` (any) - `data.quote.inputs.labelTranslations` (any) - `data.quote.inputs.addUnknownValues` (any) - `data.quote.inputs.typedId` (any) - `data.quote.inputs.alwaysEditable` (any) - `data.quote.inputs.parameterConfig` (object) - `data.quote.inputs.formattingOptions` (object) - `data.quote.inputs.valueOptions` (any) - `data.quote.outputs` (array, required) - `data.quote.nodeId` (any) - `data.quote.userGroupEdit` (any) - `data.quote.userGroupViewDetails` (any) - `data.quote.expiryDate` (string, required) - `data.quote.externalRef` (any) - `data.quote.quoteType` (any) - `data.filterCriteria` (object, required) - `data.filterCriteria._constructor` (string, required) - `data.filterCriteria.operator` (string, required) - `data.filterCriteria.criteria` (array, required) - `endRow` (number, required) The number of the end row that defines the end of the result set's returned objects. Use this parameter if you want to implement paging for results. - `sortBy` (array, required) ## Response 200 fields