Skip to main content
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>>' \
     --data '{
        "name": "Eco Linen Shirt",
        "weight": 0.35,
        "weightMeasureUnit": "kilograms",
        "weightIsPrimaryData": true,
        "categoryExpansionId": "ApparelAccessories-TopsBlouses-ButtonFrontShirts",
        "size": "Adult",
        "materials": [
          {
            "netUse": 75,
            "materialId": "MatTX0001",
            "composition": 100
          }
        ],
        "frenchLabelCountry": {
          "code": "FR",
          "name": "France"
        },
        "frenchLabelDyeingCountry": {
          "code": "FR",
          "name": "France"
        },
        "frenchLabelFabricCountry": {
          "code": "FR",
          "name": "France"
        },
        "frenchLabelOptionalFields": {
          "business": "small-business",
          "countrySpinning": {
            "code": "CN",
            "name": "China"
          },
          "numberOfReferences": 150,
          "price": 45,
          "upcycled": false
        }
     }'
{"success":true}
1

Set the required French Eco-Score fields

Before adding optional fields, make sure the product includes all mandatory French Eco-Score fields:
  • weightIsPrimaryData set to true
  • frenchLabelCountry — final assembly location
  • frenchLabelDyeingCountry — finishing location
  • frenchLabelFabricCountry — textile formation location
See the French Eco-Score requirements for details.
"weightIsPrimaryData": true,
"frenchLabelCountry": { "code": "FR", "name": "France" },
"frenchLabelDyeingCountry": { "code": "FR", "name": "France" },
"frenchLabelFabricCountry": { "code": "FR", "name": "France" }
2

Set the business type

field: business

Field type: string (enum)Indicates the business type and whether repair services are offered.
  • small-business
  • large-business-with-services
  • large-business-without-services
"frenchLabelOptionalFields": {
  "business": "small-business"
}
3

Set the spinning country

object: countrySpinning

Uses the same country code and name format as the other location fields. Retrieve valid values from the Get Manufacturing Countries endpoint.

field: code

Set the 2-letter abbreviation for the country of spinning.

field: name

Set the full name of the country of spinning in English.
"frenchLabelOptionalFields": {
  "countrySpinning": {
    "code": "CN",
    "name": "China"
  }
}
4

Set the number of references

field: numberOfReferences

Field type: numberThe number of references in the brand catalogue.
  • Min: 1
  • Max: 999999
"frenchLabelOptionalFields": {
  "numberOfReferences": 150
}
5

Set the price

field: price

Field type: numberThe product price in euros (EUR).
  • Min: 1
  • Max: 1000
"frenchLabelOptionalFields": {
  "price": 45
}
6

Set the upcycled flag

field: upcycled

Field type: booleanIndicates whether the product is remanufactured.
"frenchLabelOptionalFields": {
  "upcycled": false
}