# Add products in bulk (CSV) This operation is used to import products into the system from CSV formatted data. This process is represented by a task, which is processed asynchronously. In the response you will receive a url which is used to check the status of the import process. When the process is done all products in csv file from the request body will be in the pricemonitor. Products that were already present before have been updated and new products have been added. Warning: All products that were in the pricemonitor before but are not present in the new import will be deleted. Identification of the products is done based on the identifying attributes (see parameter: patagona-product-identifying-attributes) Note: It is recommended to use the JSON variant to add products as it works synchronously and more efficient. Endpoint: PUT /api/v3/vendor/contracts/{contractId}/products Version: 0.0.7224 Security: BasicAuth, BearerAuth ## Path parameters: - `contractId` (string, required) Unique identifier of the contract Example: "qbcxvb" ## Header parameters: - `content-type` (string, required) Enum: "text/csv", "text/comma-separated-values", "text/csv; charset=UTF-8", "text/comma-separated-values; charset=UTF-8" - `patagona-product-identifying-attributes` (string, required) A single CSV column that identify a product uniquely. Avoid using tags as an identifier, as this feature will soon be deprecated By doing so, you may loose historical market data during product import. Example: "id-column" - `patagona-product-name` (string, required) Csv column that contains the product name Example: "name-column" - `patagona-product-reference-price` (string, required) Csv column that contains the reference price Example: "reference-price-column" - `patagona-product-min-price` (string, required) Csv column that contains the min price Example: "min-price-column" - `patagona-product-max-price` (string, required) Csv column that contains the max price Example: "max-price-column" - `patagona-product-gtin` (string) Csv column that contains the gtin Example: "max-price-column" - `patagona-product-customer-id` (string) Csv column that contains an id (There is no requirement for this field to be unique) Example: "id-column" - `patagona-decimal-separator` (string, required) Decimal separator used for parsing numbers \ The values for patagona-decimal-separator, patagona-csv-column-separator and patagona-csv-quotation-character must be different from one another. \ Available values: ",", "." Example: "." - `patagona-csv-column-separator` (string, required) The csv column separator \ It can be provided either as text or as Base64 encoded string (e.g. needed for tab as separator). \ The values for patagona-decimal-separator, patagona-csv-column-separator and patagona-csv-quotation-character must be different from one another. Example: "," - `patagona-csv-quotation-character` (string, required) The csv quotation character \ The values for patagona-decimal-separator, patagona-csv-column-separator and patagona-csv-quotation-character must be different from one another. Example: "\"" ## Response 202 fields (application/json): - `data` (object, required) - `data.id` (string) - `data.url` (string)