# Fulfilment Products

## Create Product

 - [POST /api/fulfilment/products](https://developer-docs.quiqup.com/openapi/fulfilment-products/post:fulfilment_public_api.createproduct.md): ## Create a Product

### 📌 Description

This endpoint allows you to create a new product in the fulfilment system. Each product must have a unique SKU, and essential details such as pricing, inventory tracking settings, and dimensions must be provided.

### 🔹 Use Cases

- Adding a new product to the fulfilment system. 
 - Defining product pricing and inventory tracking settings. 
 - Configuring product dimensions for warehouse storage and shipping calculations.

## Bulk Commit Products

 - [POST /api/fulfilment/products/bulk/commit](https://developer-docs.quiqup.com/openapi/fulfilment-products/post:fulfilment_public_api.bulkcommitproducts.md): ## Commit a bulk product upload

Parses, validates, and creates/updates products from a CSV or XLSX file. Duplicates are either updated or skipped based on the update_duplicates form field.

Note: this operation is NOT atomic. Each row is processed individually, so a partial failure will leave some rows committed and others not. The per-row status in the response indicates exactly which rows succeeded or failed, allowing the caller to handle retries.

## Bulk Validate Products

 - [POST /api/fulfilment/products/bulk/validate](https://developer-docs.quiqup.com/openapi/fulfilment-products/post:fulfilment_public_api.bulkvalidateproducts.md): ## Validate a bulk product upload file

Parses a CSV or XLSX file and validates each row without persisting anything. Returns per-row validation status so the caller can preview before committing.

## Get Product

 - [GET /api/fulfilment/products/{sku}](https://developer-docs.quiqup.com/openapi/fulfilment-products/get:fulfilment_public_api.getproductbysku.md): ## Get a Product by SKU

### 📌 Description

This endpoint retrieves detailed information about a specific product using its unique sku. The response includes product metadata, pricing, inventory tracking status, and fulfilment-related details.

### 🔹 Use Cases

- Fetching product details to confirm SKU, pricing, and inventory settings. 
 - Displaying product information in an eCommerce system or inventory dashboard. 
 - Ensuring a product is active and available before placing a fulfilment order. 


### 🔹 Parameters

- id: The unique id or sku of the product.

## Update Product

 - [PATCH /api/fulfilment/products/{sku}](https://developer-docs.quiqup.com/openapi/fulfilment-products/patch:fulfilment_public_api.updateproduct.md): ## Update a Product

### 📌 Description

This endpoint allows you to partially update an existing product. Unlike POST, which is used to create new products, PATCH only modifies specified fields of an existing product.

### 🔹 Use Cases

- Updating product pricing without affecting other attributes. 
 - Changing product status (e.g., from active to archived). 
 - Modifying SKU or barcode while keeping other details intact.

