## Create Products `ProductCreateProductsResponse Products.CreateProducts(ProductCreateProductsParams?parameters, CancellationTokencancellationToken = default)` **post** `/api/v2/public/products` Creates or updates products in bulk. ### Parameters - `ProductCreateProductsParams parameters` - `Boolean flush` Query param: When true, removes existing products before inserting. - `IReadOnlyList body` Body param - `required Boolean IsCounted` - `required string ProductName` Display name of the product. - `required string ProductNumber` Unique product number. - `Boolean? AllowDecimal` - `IReadOnlyList? AttentionCode` - `Double? AverageWeight` - `string? Barcode` - `IReadOnlyList? BarcodesArray` - `string? Barcode` - `string? BaseUnitName` - `string? BrandCode` - `string? BrandDescription` - `Double CarrierItemQuantity` - `string? CategoryCode` - `string? Color` - `string? ColorCode` - `IReadOnlyList? CountriesAllowed` - `IReadOnlyList? CountriesNotAllowed` - `string? CountryCode` - `string? DefaultLocationTag` - `DateTimeOffset? DeprecationDate` - `Int? ExpirationMinRange` - `IReadOnlyList? FreeFields` - `string? Key` - `Int SortOrder` - `string? Value` - `string? ImageUrl` - `Int? Ioq` - `Boolean? IsActive` - `Boolean? IsAdr` - `Boolean? IsDeleted` - `Boolean? IsEditMinMax` - `Boolean? IsEditReplenishment` - `Boolean? IsExpiration` - `Boolean? IsMarkdownAllowed` - `Boolean? IsOrderManually` - `Boolean? IsOrdering` - `Boolean? IsPromotion` - `Boolean? IsResetStoreStock` - `Boolean? IsSet` - `Boolean? IsStock` - `Boolean? IsStoreProduct` - `Boolean? IsTemplate` - `Boolean? IsTheft` - `string? MarginCategory` - `Double? Moq` - `Double? Price` - `Double PriceCompareMultiplier` - `string? PriceCompareUnit` - `string? PriceLines` - `string? ProductDetails` - `string? ProductReferenceNumber` - `string? ProductStatus` - `string? ProductType` - `string? ProductUrl` - `IReadOnlyList? PromoStoresAllowed` - `IReadOnlyList? PromoStoresNotAllowed` - `Double? PromotionPrice` - `string? PromotionText` - `string? PromotionWeek` - `Double? PurchasePrice` - `string? PurchaseUnitBarcode` - `string? PurchaseUnitName` - `string? PurchaseUnitProductNumber` - `Double? PurchaseUnitQuantity` - `string? ReferralProductNumber` - `IReadOnlyList? SetProducts` - `string? SetItemQuantity` - `string? SetProductNumber` - `IReadOnlyList? ShelfLabels` - `string? Shelflabel1` - `string? Shelflabel2` - `string? Shelflabel3` - `string? Shelflabel4` - `string? Shelflabel5` - `string? Shelflabel6` - `string? Size` - `string? SizeCode` - `string? SmallestProductNumber` - `Double? SmallestQuantity` - `string? StoreNumber` - `IReadOnlyList? StoresAllowed` - `IReadOnlyList? StoresNotAllowed` - `string? SupplierName` - `string? SupplierNumber` - `string? SupplierProductNumber` - `IReadOnlyList? Units` - `required string UnitBarcode` - `required string UnitName` - `required Double UnitQuantity` - `string? VariantCode` - `string? Volume` ### Returns - `class ProductCreateProductsResponse:` Standard success response returned by mutation endpoints. - `string? Data` Optional data payload returned by the operation. - `string? Message` Human-readable message describing the result. - `Boolean Success` Indicates whether the operation completed successfully. ### Example ```csharp ProductCreateProductsParams parameters = new(); var response = await client.Products.CreateProducts(parameters); Console.WriteLine(response); ```