> ## Documentation Index
> Fetch the complete documentation index at: https://developer.worldly.io/llms.txt
> Use this file to discover all available pages before exploring further.

# PIC - Create a Product

> Create products in Worldly's Product Impact Calculator.

```bash theme={null}
curl --request POST \
     --url https://api-v2.production.higg.org/pic-api/v1/products/create \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'x-api-key: <<apiKey>>' \
     --header 'x-developer-request-token: <<apiKey>>' \
     -d '{
  			"name": "My Shiny Disco PJ Pants",
  			"weight": 0.47,
  			"weightMeasureUnit": "kilograms",
  			"weightIsPrimaryData": true,
        "categoryExpansionId": "ApparelAccessories-SleepwearLoungewear-PajamaBottoms",
				"size":"Adult",
  			"materials": [
    			{
      			"netUse": 75,
      			"materialId": "MatTX0001",
      			"composition": 100
    			}
  			]
			}'
```

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

<Steps>
  <Step title="Provide your Product Name">
    ### field: name

    Field type: string

    * *Product Name* must be unique.

    ```json theme={null}
    "name": "My Shiny Disco PJ Pants",
    ```
  </Step>

  <Step title="Provide the Product Weight">
    ### field: weight

    **Required**

    Field type: numeric

    ### field: weightMeasureUnit

    Field type: enum

    * kilograms
    * grams
    * milligrams
    * pounds
    * ounces

    ## French Eco-Score

    ### field: weightIsPrimaryData

    Field type: boolean

    * Set this field to: "true"
    * To generate a French Eco-Score, you must include primary data for *Product Weight*.
    * This means that the *Weight* value and *Unit of Measure* must reflect the product's actual weight, rather than an industry average.

    ```json theme={null}
    "weight": 0.47,
    "weightMeasureUnit": "kilograms",
    "weightIsPrimaryData": true,
    ```
  </Step>

  <Step title="Set the Product Category">
    ### field: categoryExpansionId

    * PIC's default assumptions come from a controlled list of categories, maintained by Worldly.
    * Use the *Get Categories* endpoint for the full list of available categories.

    ```json theme={null}
    "categoryExpansionId": "ApparelAccessories-SleepwearLoungewear-PajamaBottoms",
    ```
  </Step>

  <Step title="Set the Product Size">
    ### field: size

    #### Apparel

    * Adult
    * Childrens/Youth

    #### Backpacks

    * Under 35L
    * 35-60L
    * Over 60L

    #### Sleeping Bags

    * Short
    * Regular
    * Long

    #### Tents

    * 1-2 Person
    * 3-5 Person
    * 6-8 Person

    ```json theme={null}
    "size":"Adult",
    ```
  </Step>

  <Step title="Set the Materials">
    ## field: materials

    Field type: array

    ### field: materialId

    * Use the *Get Materials* endpoint to identify the *materialId* for each material.
    * PIC has a list of default materials; however, you may also include materials you custom built using the *Higg MSI*, or the *PIC Material Library*.

    **PIC Default Materials**

    * The material IDs for the default PIC materials are maintained in the PIC Materials Taxonomy.
    * For example: MatTX0001

    **Higg MSI Custom Materials**

    * *MSI Example Materials* are not available in PIC. If you want to use an *Example Material* in your PIC product, first duplicate it and then save it as a *MSI Custom Material*. Once the Custom Material is saved, it will be available as a material in PIC.
    * The *materialID* for an *MSI Custom Material* is a system-generated unique identifier.
    * For example: -12a3bc45d678e91011fg1ab2c

    **French Eco-Scores**

    * Products built with MSI custom materials are not eligible for an Eco-Score

    ### field: composition

    Field type: integer

    * Enter a number between 1-100
    * **The sum of all composition fields *must* be exactly 100%**

    ### field: netUse

    Field type: numeric

    * number between 1-100
    * *Net Use* refers to cutting efficiency.
    * PIC assumes an average Loss Rate for Apparel products of 25%; therefore, the default value for this field is 75.

    ```json theme={null}
    "materials": [
        {
            "netUse": 75,
            "materialId": "MatTX0001",
            "composition": 100
        }
    ]
    ```
  </Step>
</Steps>
