> ## Documentation Index
> Fetch the complete documentation index at: https://doc.convo.co.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Add a New Product to an Existing Convo Catalogue

> POST /project/{project_id}/create-product — Add a new product to an existing Convo catalogue with name, price, image, and inventory details.

Use this endpoint to add a new product to an existing catalogue in your Convo project. Products added here are synced with your Meta catalogue and become available for commerce messaging on WhatsApp.

## Endpoint

```text theme={null}
POST https://connect.api-wa.co/project-apis/v1/project/{project_id}/create-product
```

## Authentication

```text theme={null}
X-API-WA-Project-API-Pwd: YOUR_API_PASSWORD
```

## Path Parameters

<ParamField path="project_id" type="string" required>
  Your Convo project ID.
</ParamField>

## Request Body

<ParamField body="catalogId" type="string" required>
  The ID of the catalogue to which you want to add this product. You can retrieve catalogue IDs from the [List Catalogues](/api-reference/catalogue/get-catalogue) endpoint.
</ParamField>

<ParamField body="name" type="string" required>
  The product's display name/title as it will appear in WhatsApp (e.g., `"Classic Leather Watch"`).
</ParamField>

<ParamField body="category" type="string" required>
  The product category (e.g., `"Watches"`, `"Electronics"`, `"Clothing"`).
</ParamField>

<ParamField body="currency" type="string" required>
  The ISO 4217 currency code for the price (e.g., `"INR"`, `"USD"`, `"EUR"`).
</ParamField>

<ParamField body="price" type="string" required>
  The product price as a string, expressed in the smallest currency unit (i.e., without a decimal point). For example, `"89900"` represents ₹899.00 in INR.
</ParamField>

<ParamField body="retailer_id" type="string" required>
  Your unique product SKU or identifier. This is used for inventory tracking and must be unique within the catalogue.
</ParamField>

<ParamField body="image_url" type="string" required>
  A publicly accessible URL for the product image. Recommended size: 500×500 px or larger.
</ParamField>

<ParamField body="description" type="string">
  A description of the product. Maximum 5000 characters.
</ParamField>

<ParamField body="url" type="string">
  The URL of the product's page on your website or store. Customers can tap this link to view full details.
</ParamField>

<ParamField body="brand" type="string">
  The brand name associated with this product.
</ParamField>

<ParamField body="sale_price" type="string">
  A discounted sale price, in the same format as `price` (smallest currency unit, no decimal point). If provided, this price is shown alongside the original price.
</ParamField>

<ParamField body="sale_price_start_date" type="string">
  The date when the sale price becomes active, in `dd-mm-yyyy` format (e.g., `"01-06-2024"`).
</ParamField>

<ParamField body="sale_price_end_date" type="string">
  The date when the sale price expires, in `dd-mm-yyyy` format (e.g., `"30-06-2024"`).
</ParamField>

## Request Example

```bash theme={null}
curl -X POST \
  "https://connect.api-wa.co/project-apis/v1/project/YOUR_PROJECT_ID/create-product" \
  -H "X-API-WA-Project-API-Pwd: YOUR_API_PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{
    "catalogId": "738763614338341",
    "name": "Classic Leather Watch",
    "category": "Watches",
    "currency": "INR",
    "price": "89900",
    "retailer_id": "WATCH-CLW-001",
    "image_url": "https://example.com/images/classic-leather-watch.jpg",
    "description": "Elegant leather-strap watch with a stainless steel case. Water-resistant to 50m.",
    "url": "https://example.com/products/classic-leather-watch",
    "brand": "Timex",
    "sale_price": "79900",
    "sale_price_start_date": "01-06-2024",
    "sale_price_end_date": "30-06-2024"
  }'
```

## Response

```json theme={null}
{
  "status": true
}
```

<ResponseField name="status" type="boolean">
  Returns `true` when the product was successfully added to the catalogue.
</ResponseField>

<Note>
  After creating a product, call the [Sync Catalogue](/api-reference/catalogue/sync-catalogue) endpoint to ensure the latest product data is reflected across your Convo project.
</Note>
