## Create Products `products.create_products(ProductCreateProductsParams**kwargs) -> ProductCreateProductsResponse` **post** `/api/v2/public/products` Creates or updates products in bulk. ### Parameters - `flush: Optional[bool]` When true, removes existing products before inserting. - `body: Optional[Iterable[Body]]` - `is_counted: bool` - `product_name: str` Display name of the product. - `product_number: str` Unique product number. - `allow_decimal: Optional[bool]` - `attention_code: Optional[SequenceNotStr[str]]` - `average_weight: Optional[float]` - `barcode: Optional[str]` - `barcodes_array: Optional[Iterable[BodyBarcodesArray]]` - `barcode: Optional[str]` - `base_unit_name: Optional[str]` - `brand_code: Optional[str]` - `brand_description: Optional[str]` - `carrier_item_quantity: Optional[float]` - `category_code: Optional[str]` - `color: Optional[str]` - `color_code: Optional[str]` - `countries_allowed: Optional[SequenceNotStr[str]]` - `countries_not_allowed: Optional[SequenceNotStr[str]]` - `country_code: Optional[str]` - `default_location_tag: Optional[str]` - `deprecation_date: Optional[Union[str, datetime, null]]` - `expiration_min_range: Optional[int]` - `free_fields: Optional[Iterable[BodyFreeField]]` - `key: Optional[str]` - `sort_order: Optional[int]` - `value: Optional[str]` - `image_url: Optional[str]` - `ioq: Optional[int]` - `is_active: Optional[bool]` - `is_adr: Optional[bool]` - `is_deleted: Optional[bool]` - `is_edit_min_max: Optional[bool]` - `is_edit_replenishment: Optional[bool]` - `is_expiration: Optional[bool]` - `is_markdown_allowed: Optional[bool]` - `is_order_manually: Optional[bool]` - `is_ordering: Optional[bool]` - `is_promotion: Optional[bool]` - `is_reset_store_stock: Optional[bool]` - `is_set: Optional[bool]` - `is_stock: Optional[bool]` - `is_store_product: Optional[bool]` - `is_template: Optional[bool]` - `is_theft: Optional[bool]` - `margin_category: Optional[str]` - `moq: Optional[float]` - `price: Optional[float]` - `price_compare_multiplier: Optional[float]` - `price_compare_unit: Optional[str]` - `price_lines: Optional[str]` - `product_details: Optional[str]` - `product_reference_number: Optional[str]` - `product_status: Optional[str]` - `product_type: Optional[str]` - `product_url: Optional[str]` - `promo_stores_allowed: Optional[SequenceNotStr[str]]` - `promo_stores_not_allowed: Optional[SequenceNotStr[str]]` - `promotion_price: Optional[float]` - `promotion_text: Optional[str]` - `promotion_week: Optional[str]` - `purchase_price: Optional[float]` - `purchase_unit_barcode: Optional[str]` - `purchase_unit_name: Optional[str]` - `purchase_unit_product_number: Optional[str]` - `purchase_unit_quantity: Optional[float]` - `referral_product_number: Optional[str]` - `set_products: Optional[Iterable[BodySetProduct]]` - `set_item_quantity: Optional[str]` - `set_product_number: Optional[str]` - `shelf_labels: Optional[Iterable[BodyShelfLabel]]` - `shelflabel_1: Optional[str]` - `shelflabel_2: Optional[str]` - `shelflabel_3: Optional[str]` - `shelflabel_4: Optional[str]` - `shelflabel_5: Optional[str]` - `shelflabel_6: Optional[str]` - `size: Optional[str]` - `size_code: Optional[str]` - `smallest_product_number: Optional[str]` - `smallest_quantity: Optional[float]` - `store_number: Optional[str]` - `stores_allowed: Optional[SequenceNotStr[str]]` - `stores_not_allowed: Optional[SequenceNotStr[str]]` - `supplier_name: Optional[str]` - `supplier_number: Optional[str]` - `supplier_product_number: Optional[str]` - `units: Optional[Iterable[BodyUnit]]` - `unit_barcode: str` - `unit_name: str` - `unit_quantity: float` - `variant_code: Optional[str]` - `volume: Optional[str]` ### Returns - `class ProductCreateProductsResponse: …` Standard success response returned by mutation endpoints. - `data: Optional[str]` Optional data payload returned by the operation. - `message: Optional[str]` Human-readable message describing the result. - `success: Optional[bool]` Indicates whether the operation completed successfully. ### Example ```python import os from colleqtive_sdk import Colleqtive client = Colleqtive( bearer_token=os.environ.get("COLLEQTIVE_BEARER_TOKEN"), # This is the default and can be omitted ) response = client.products.create_products() print(response.data) ```