Products Search
curl --request POST \
--url https://api-v2.production.higg.org/pic-api/v1/products/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-developer-request-token: <api-key>' \
--data '
{
"id": [
"<string>"
],
"name": [
"<string>"
],
"textSearch": [
"<string>"
],
"from": 123,
"size": 123,
"productSize": [
"<string>"
],
"productCategory": [
"<string>"
],
"component": [
"<string>"
],
"material": [
"<string>"
],
"packaging": [
"<string>"
],
"tag": [
"<string>"
],
"identifier": [
"<string>"
],
"hasFrenchEcoScore": true,
"publishEligibleOnly": true
}
'import requests
url = "https://api-v2.production.higg.org/pic-api/v1/products/search"
payload = {
"id": ["<string>"],
"name": ["<string>"],
"textSearch": ["<string>"],
"from": 123,
"size": 123,
"productSize": ["<string>"],
"productCategory": ["<string>"],
"component": ["<string>"],
"material": ["<string>"],
"packaging": ["<string>"],
"tag": ["<string>"],
"identifier": ["<string>"],
"hasFrenchEcoScore": True,
"publishEligibleOnly": True
}
headers = {
"x-api-key": "<api-key>",
"x-developer-request-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
'x-developer-request-token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: ['<string>'],
name: ['<string>'],
textSearch: ['<string>'],
from: 123,
size: 123,
productSize: ['<string>'],
productCategory: ['<string>'],
component: ['<string>'],
material: ['<string>'],
packaging: ['<string>'],
tag: ['<string>'],
identifier: ['<string>'],
hasFrenchEcoScore: true,
publishEligibleOnly: true
})
};
fetch('https://api-v2.production.higg.org/pic-api/v1/products/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-v2.production.higg.org/pic-api/v1/products/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => [
'<string>'
],
'name' => [
'<string>'
],
'textSearch' => [
'<string>'
],
'from' => 123,
'size' => 123,
'productSize' => [
'<string>'
],
'productCategory' => [
'<string>'
],
'component' => [
'<string>'
],
'material' => [
'<string>'
],
'packaging' => [
'<string>'
],
'tag' => [
'<string>'
],
'identifier' => [
'<string>'
],
'hasFrenchEcoScore' => true,
'publishEligibleOnly' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-developer-request-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-v2.production.higg.org/pic-api/v1/products/search"
payload := strings.NewReader("{\n \"id\": [\n \"<string>\"\n ],\n \"name\": [\n \"<string>\"\n ],\n \"textSearch\": [\n \"<string>\"\n ],\n \"from\": 123,\n \"size\": 123,\n \"productSize\": [\n \"<string>\"\n ],\n \"productCategory\": [\n \"<string>\"\n ],\n \"component\": [\n \"<string>\"\n ],\n \"material\": [\n \"<string>\"\n ],\n \"packaging\": [\n \"<string>\"\n ],\n \"tag\": [\n \"<string>\"\n ],\n \"identifier\": [\n \"<string>\"\n ],\n \"hasFrenchEcoScore\": true,\n \"publishEligibleOnly\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-developer-request-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-v2.production.higg.org/pic-api/v1/products/search")
.header("x-api-key", "<api-key>")
.header("x-developer-request-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"id\": [\n \"<string>\"\n ],\n \"name\": [\n \"<string>\"\n ],\n \"textSearch\": [\n \"<string>\"\n ],\n \"from\": 123,\n \"size\": 123,\n \"productSize\": [\n \"<string>\"\n ],\n \"productCategory\": [\n \"<string>\"\n ],\n \"component\": [\n \"<string>\"\n ],\n \"material\": [\n \"<string>\"\n ],\n \"packaging\": [\n \"<string>\"\n ],\n \"tag\": [\n \"<string>\"\n ],\n \"identifier\": [\n \"<string>\"\n ],\n \"hasFrenchEcoScore\": true,\n \"publishEligibleOnly\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-v2.production.higg.org/pic-api/v1/products/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-developer-request-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": [\n \"<string>\"\n ],\n \"name\": [\n \"<string>\"\n ],\n \"textSearch\": [\n \"<string>\"\n ],\n \"from\": 123,\n \"size\": 123,\n \"productSize\": [\n \"<string>\"\n ],\n \"productCategory\": [\n \"<string>\"\n ],\n \"component\": [\n \"<string>\"\n ],\n \"material\": [\n \"<string>\"\n ],\n \"packaging\": [\n \"<string>\"\n ],\n \"tag\": [\n \"<string>\"\n ],\n \"identifier\": [\n \"<string>\"\n ],\n \"hasFrenchEcoScore\": true,\n \"publishEligibleOnly\": true\n}"
response = http.request(request)
puts response.read_body{
"from": 123,
"size": 123,
"total": 123,
"results": [
{
"_id": "<string>",
"name": "<string>",
"weightInformation": {
"convertedToKg": 123,
"weight": 123,
"isPrimaryData": true
},
"type": "<string>",
"createdOn": {},
"user": {
"_id": "<string>",
"email": "<string>",
"firstname": "<string>",
"lastname": "<string>"
},
"account": {
"_id": "<string>",
"name": "<string>",
"country": "<string>",
"sacId": 123,
"oar_id": "<string>",
"demoaccount": true,
"socialCreditId": "<string>",
"taxId": "<string>",
"bluesignId": "<string>",
"zdhcId": "<string>",
"ipeViolation": {
"totalViolations": 123
},
"ffcId": 123
},
"materials": [
{
"name": "<string>",
"netUse": 123,
"materialId": "<string>",
"composition": 123,
"weightInformation": {
"convertedToKg": 123,
"weight": 123,
"netWeight": 123
},
"isMsiMaterial": true,
"isPicMaterialLibrary": true,
"code": "<string>",
"dataSource": "<string>",
"isOutdated": true,
"description": "<string>",
"impacts": {
"tier4Impact": 123,
"tier2and3Impact": 123,
"totalMaterialLibrary": 123,
"totalTierImpact": 123,
"uncertainty": {
"lower": 123,
"upper": 123
}
}
}
],
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"_rev": "<string>",
"version": "<string>",
"productType": "<string>",
"productCategory": "<string>",
"packagingWeight": {
"convertedToKg": 123,
"weight": 123,
"isPrimaryData": true
},
"modelNumber": "<string>",
"barcodes": [
"<string>"
],
"dataSource": "<string>",
"modifiedOn": {},
"deleted": true,
"modifiedBy": {
"_id": "<string>",
"email": "<string>",
"firstname": "<string>",
"lastname": "<string>"
},
"deletedBy": {
"_id": "<string>",
"email": "<string>",
"firstname": "<string>",
"lastname": "<string>"
},
"defaultProduct": {
"defaultProductId": "<string>",
"name": "<string>"
},
"components": [
{
"name": "<string>",
"componentId": "<string>",
"unit": 123,
"weightInformation": {
"convertedToKg": 123,
"weight": 123,
"isPrimaryData": true
},
"isMsiComponent": true,
"isOutdated": true,
"dataSource": "<string>",
"description": "<string>",
"impacts": {
"tier4Impact": 123,
"tier2and3Impact": 123,
"totalMaterialLibrary": 123,
"totalTierImpact": 123,
"uncertainty": {
"lower": 123,
"upper": 123
}
}
}
],
"packaging": [
{
"packagingId": "<string>",
"amount": 123,
"name": "<string>",
"weightInformation": {
"convertedToKg": 123,
"weight": 123,
"isPrimaryData": true
},
"isMsiPackaging": true,
"isOutdated": true,
"code": "<string>",
"dataSource": "<string>",
"description": "<string>",
"impacts": {
"tier4Impact": 123,
"tier2and3Impact": 123,
"totalMaterialLibrary": 123,
"totalTierImpact": 123,
"uncertainty": {
"lower": 123,
"upper": 123
}
}
}
],
"notes": "<string>",
"purchaseOrder": [
{
"_id": "<string>",
"assembly": {
"isDefault": true,
"femId": "<string>",
"facilityName": "<string>",
"finalAssemblyRawText": "<string>",
"surveyVersion": "<string>",
"finalAssemblyImpacts": 123,
"printingProductDyeingImpacts": 123,
"totalNormalizedImpacts": 123,
"sipfacilitytype": [
"<string>"
],
"annualProd": "<string>",
"country": "<string>",
"femDescriptor": "<string>",
"year": 123,
"finishedProductImpacts": 123
},
"purchaseOrderId": "<string>",
"purchaseDate": 123,
"impactPerUnit": 123,
"totalImpactPerUnit": 123,
"pmVersion": "<string>",
"msiVersion": "<string>",
"version": "<string>",
"amountPurchase": 123,
"isOutdated": true,
"impactsPerUnitMultiPack": {
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"totalProductImpacts": 123,
"componentImpact": 123
},
"totalImpactsMultiPack": {
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"totalProductImpacts": 123,
"componentImpact": 123
},
"impactsPerUnit": {
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"totalProductImpacts": 123,
"componentImpact": 123
},
"totalImpacts": {
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"totalProductImpacts": 123,
"componentImpact": 123
}
}
],
"purchaseOrderImpactsTotal": {
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"totalProductImpacts": 123,
"componentImpact": 123
},
"componentImpact": 123,
"upstreamTransportation": 123,
"downstreamTransportationRetail": 123,
"downstreamTransportationConsumer": 123,
"distributionCenterUnOwned": 123,
"retailEnergyUnOwned": 123,
"frenchLabelManufacturingCountry": {
"code": "<string>",
"name": "<string>"
},
"frenchLabelFabricCountry": {
"code": "<string>",
"name": "<string>"
},
"frenchLabelDyeingCountry": {
"code": "<string>",
"name": "<string>"
},
"frenchLabelOptionalFields": {
"countrySpinning": {
"code": "<string>",
"name": "<string>"
},
"upcycled": true,
"price": 123,
"numberOfReferences": 123
},
"frenchLabelEligibility": {
"eligible": true,
"reasons": [
{
"message": "<string>"
}
]
},
"frenchLabelEcoScore": {
"score": 123,
"impacts": {
"acd": 123,
"cch": 123,
"etf": 123,
"etfC": 123,
"fru": 123,
"fwe": 123,
"htc": 123,
"htcC": 123,
"htn": 123,
"htnC": 123,
"ior": 123,
"ldu": 123,
"mru": 123,
"ozd": 123,
"pco": 123,
"pma": 123,
"swe": 123,
"tre": 123,
"wtu": 123,
"ecs": 123,
"pef": 123,
"microfibers": 123,
"outOfEuropeEOL": 123
},
"createdAt": 123,
"updatedAt": 123,
"impactsPercentageContribution": {
"acd": 123,
"cch": 123,
"etf": 123,
"etfC": 123,
"fru": 123,
"fwe": 123,
"htc": 123,
"htcC": 123,
"htn": 123,
"htnC": 123,
"ior": 123,
"ldu": 123,
"mru": 123,
"ozd": 123,
"pco": 123,
"pma": 123,
"swe": 123,
"tre": 123,
"wtu": 123,
"ecs": 123,
"pef": 123,
"microfibers": 123,
"outOfEuropeEOL": 123
},
"apiVersion": "<string>",
"apiResponseError": "<string>",
"complementsImpacts": {
"microfibers": 123,
"outOfEuropeEOL": 123,
"cropDiversity": 123,
"forest": 123,
"hedges": 123,
"livestockDensity": 123,
"permanentPasture": 123,
"plotSize": 123
},
"publishEligibility": {
"eligible": true,
"reasons": [
"<string>"
]
},
"publish": {
"publishedAt": 123,
"publishedBy": "<string>",
"filedScore": 123,
"internalReference": "<string>",
"nextEligibleAt": 123,
"attemptedAt": 123,
"attemptedBy": "<string>",
"apiResponseError": "<string>"
}
},
"identifier": "<string>",
"tags": [
"<string>"
]
}
]
}Products
Search products
Search for products in the Product Impact Calculator (PIC) based on various criteria.
POST
/
products
/
search
Products Search
curl --request POST \
--url https://api-v2.production.higg.org/pic-api/v1/products/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-developer-request-token: <api-key>' \
--data '
{
"id": [
"<string>"
],
"name": [
"<string>"
],
"textSearch": [
"<string>"
],
"from": 123,
"size": 123,
"productSize": [
"<string>"
],
"productCategory": [
"<string>"
],
"component": [
"<string>"
],
"material": [
"<string>"
],
"packaging": [
"<string>"
],
"tag": [
"<string>"
],
"identifier": [
"<string>"
],
"hasFrenchEcoScore": true,
"publishEligibleOnly": true
}
'import requests
url = "https://api-v2.production.higg.org/pic-api/v1/products/search"
payload = {
"id": ["<string>"],
"name": ["<string>"],
"textSearch": ["<string>"],
"from": 123,
"size": 123,
"productSize": ["<string>"],
"productCategory": ["<string>"],
"component": ["<string>"],
"material": ["<string>"],
"packaging": ["<string>"],
"tag": ["<string>"],
"identifier": ["<string>"],
"hasFrenchEcoScore": True,
"publishEligibleOnly": True
}
headers = {
"x-api-key": "<api-key>",
"x-developer-request-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
'x-developer-request-token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: ['<string>'],
name: ['<string>'],
textSearch: ['<string>'],
from: 123,
size: 123,
productSize: ['<string>'],
productCategory: ['<string>'],
component: ['<string>'],
material: ['<string>'],
packaging: ['<string>'],
tag: ['<string>'],
identifier: ['<string>'],
hasFrenchEcoScore: true,
publishEligibleOnly: true
})
};
fetch('https://api-v2.production.higg.org/pic-api/v1/products/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-v2.production.higg.org/pic-api/v1/products/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => [
'<string>'
],
'name' => [
'<string>'
],
'textSearch' => [
'<string>'
],
'from' => 123,
'size' => 123,
'productSize' => [
'<string>'
],
'productCategory' => [
'<string>'
],
'component' => [
'<string>'
],
'material' => [
'<string>'
],
'packaging' => [
'<string>'
],
'tag' => [
'<string>'
],
'identifier' => [
'<string>'
],
'hasFrenchEcoScore' => true,
'publishEligibleOnly' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-developer-request-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-v2.production.higg.org/pic-api/v1/products/search"
payload := strings.NewReader("{\n \"id\": [\n \"<string>\"\n ],\n \"name\": [\n \"<string>\"\n ],\n \"textSearch\": [\n \"<string>\"\n ],\n \"from\": 123,\n \"size\": 123,\n \"productSize\": [\n \"<string>\"\n ],\n \"productCategory\": [\n \"<string>\"\n ],\n \"component\": [\n \"<string>\"\n ],\n \"material\": [\n \"<string>\"\n ],\n \"packaging\": [\n \"<string>\"\n ],\n \"tag\": [\n \"<string>\"\n ],\n \"identifier\": [\n \"<string>\"\n ],\n \"hasFrenchEcoScore\": true,\n \"publishEligibleOnly\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-developer-request-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-v2.production.higg.org/pic-api/v1/products/search")
.header("x-api-key", "<api-key>")
.header("x-developer-request-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"id\": [\n \"<string>\"\n ],\n \"name\": [\n \"<string>\"\n ],\n \"textSearch\": [\n \"<string>\"\n ],\n \"from\": 123,\n \"size\": 123,\n \"productSize\": [\n \"<string>\"\n ],\n \"productCategory\": [\n \"<string>\"\n ],\n \"component\": [\n \"<string>\"\n ],\n \"material\": [\n \"<string>\"\n ],\n \"packaging\": [\n \"<string>\"\n ],\n \"tag\": [\n \"<string>\"\n ],\n \"identifier\": [\n \"<string>\"\n ],\n \"hasFrenchEcoScore\": true,\n \"publishEligibleOnly\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-v2.production.higg.org/pic-api/v1/products/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-developer-request-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": [\n \"<string>\"\n ],\n \"name\": [\n \"<string>\"\n ],\n \"textSearch\": [\n \"<string>\"\n ],\n \"from\": 123,\n \"size\": 123,\n \"productSize\": [\n \"<string>\"\n ],\n \"productCategory\": [\n \"<string>\"\n ],\n \"component\": [\n \"<string>\"\n ],\n \"material\": [\n \"<string>\"\n ],\n \"packaging\": [\n \"<string>\"\n ],\n \"tag\": [\n \"<string>\"\n ],\n \"identifier\": [\n \"<string>\"\n ],\n \"hasFrenchEcoScore\": true,\n \"publishEligibleOnly\": true\n}"
response = http.request(request)
puts response.read_body{
"from": 123,
"size": 123,
"total": 123,
"results": [
{
"_id": "<string>",
"name": "<string>",
"weightInformation": {
"convertedToKg": 123,
"weight": 123,
"isPrimaryData": true
},
"type": "<string>",
"createdOn": {},
"user": {
"_id": "<string>",
"email": "<string>",
"firstname": "<string>",
"lastname": "<string>"
},
"account": {
"_id": "<string>",
"name": "<string>",
"country": "<string>",
"sacId": 123,
"oar_id": "<string>",
"demoaccount": true,
"socialCreditId": "<string>",
"taxId": "<string>",
"bluesignId": "<string>",
"zdhcId": "<string>",
"ipeViolation": {
"totalViolations": 123
},
"ffcId": 123
},
"materials": [
{
"name": "<string>",
"netUse": 123,
"materialId": "<string>",
"composition": 123,
"weightInformation": {
"convertedToKg": 123,
"weight": 123,
"netWeight": 123
},
"isMsiMaterial": true,
"isPicMaterialLibrary": true,
"code": "<string>",
"dataSource": "<string>",
"isOutdated": true,
"description": "<string>",
"impacts": {
"tier4Impact": 123,
"tier2and3Impact": 123,
"totalMaterialLibrary": 123,
"totalTierImpact": 123,
"uncertainty": {
"lower": 123,
"upper": 123
}
}
}
],
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"_rev": "<string>",
"version": "<string>",
"productType": "<string>",
"productCategory": "<string>",
"packagingWeight": {
"convertedToKg": 123,
"weight": 123,
"isPrimaryData": true
},
"modelNumber": "<string>",
"barcodes": [
"<string>"
],
"dataSource": "<string>",
"modifiedOn": {},
"deleted": true,
"modifiedBy": {
"_id": "<string>",
"email": "<string>",
"firstname": "<string>",
"lastname": "<string>"
},
"deletedBy": {
"_id": "<string>",
"email": "<string>",
"firstname": "<string>",
"lastname": "<string>"
},
"defaultProduct": {
"defaultProductId": "<string>",
"name": "<string>"
},
"components": [
{
"name": "<string>",
"componentId": "<string>",
"unit": 123,
"weightInformation": {
"convertedToKg": 123,
"weight": 123,
"isPrimaryData": true
},
"isMsiComponent": true,
"isOutdated": true,
"dataSource": "<string>",
"description": "<string>",
"impacts": {
"tier4Impact": 123,
"tier2and3Impact": 123,
"totalMaterialLibrary": 123,
"totalTierImpact": 123,
"uncertainty": {
"lower": 123,
"upper": 123
}
}
}
],
"packaging": [
{
"packagingId": "<string>",
"amount": 123,
"name": "<string>",
"weightInformation": {
"convertedToKg": 123,
"weight": 123,
"isPrimaryData": true
},
"isMsiPackaging": true,
"isOutdated": true,
"code": "<string>",
"dataSource": "<string>",
"description": "<string>",
"impacts": {
"tier4Impact": 123,
"tier2and3Impact": 123,
"totalMaterialLibrary": 123,
"totalTierImpact": 123,
"uncertainty": {
"lower": 123,
"upper": 123
}
}
}
],
"notes": "<string>",
"purchaseOrder": [
{
"_id": "<string>",
"assembly": {
"isDefault": true,
"femId": "<string>",
"facilityName": "<string>",
"finalAssemblyRawText": "<string>",
"surveyVersion": "<string>",
"finalAssemblyImpacts": 123,
"printingProductDyeingImpacts": 123,
"totalNormalizedImpacts": 123,
"sipfacilitytype": [
"<string>"
],
"annualProd": "<string>",
"country": "<string>",
"femDescriptor": "<string>",
"year": 123,
"finishedProductImpacts": 123
},
"purchaseOrderId": "<string>",
"purchaseDate": 123,
"impactPerUnit": 123,
"totalImpactPerUnit": 123,
"pmVersion": "<string>",
"msiVersion": "<string>",
"version": "<string>",
"amountPurchase": 123,
"isOutdated": true,
"impactsPerUnitMultiPack": {
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"totalProductImpacts": 123,
"componentImpact": 123
},
"totalImpactsMultiPack": {
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"totalProductImpacts": 123,
"componentImpact": 123
},
"impactsPerUnit": {
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"totalProductImpacts": 123,
"componentImpact": 123
},
"totalImpacts": {
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"totalProductImpacts": 123,
"componentImpact": 123
}
}
],
"purchaseOrderImpactsTotal": {
"materialImpact": 123,
"tier1Impact": 123,
"packagingImpact": 123,
"logisticsImpactsUpstreamTD": 123,
"logisticsImpactsDTImpact": 123,
"logisticsImpactsDCImpact": 123,
"logisticsImpactsRetailImpact": 123,
"productCareImpacts": 123,
"endOfUseImpact": 123,
"totalProductImpacts": 123,
"componentImpact": 123
},
"componentImpact": 123,
"upstreamTransportation": 123,
"downstreamTransportationRetail": 123,
"downstreamTransportationConsumer": 123,
"distributionCenterUnOwned": 123,
"retailEnergyUnOwned": 123,
"frenchLabelManufacturingCountry": {
"code": "<string>",
"name": "<string>"
},
"frenchLabelFabricCountry": {
"code": "<string>",
"name": "<string>"
},
"frenchLabelDyeingCountry": {
"code": "<string>",
"name": "<string>"
},
"frenchLabelOptionalFields": {
"countrySpinning": {
"code": "<string>",
"name": "<string>"
},
"upcycled": true,
"price": 123,
"numberOfReferences": 123
},
"frenchLabelEligibility": {
"eligible": true,
"reasons": [
{
"message": "<string>"
}
]
},
"frenchLabelEcoScore": {
"score": 123,
"impacts": {
"acd": 123,
"cch": 123,
"etf": 123,
"etfC": 123,
"fru": 123,
"fwe": 123,
"htc": 123,
"htcC": 123,
"htn": 123,
"htnC": 123,
"ior": 123,
"ldu": 123,
"mru": 123,
"ozd": 123,
"pco": 123,
"pma": 123,
"swe": 123,
"tre": 123,
"wtu": 123,
"ecs": 123,
"pef": 123,
"microfibers": 123,
"outOfEuropeEOL": 123
},
"createdAt": 123,
"updatedAt": 123,
"impactsPercentageContribution": {
"acd": 123,
"cch": 123,
"etf": 123,
"etfC": 123,
"fru": 123,
"fwe": 123,
"htc": 123,
"htcC": 123,
"htn": 123,
"htnC": 123,
"ior": 123,
"ldu": 123,
"mru": 123,
"ozd": 123,
"pco": 123,
"pma": 123,
"swe": 123,
"tre": 123,
"wtu": 123,
"ecs": 123,
"pef": 123,
"microfibers": 123,
"outOfEuropeEOL": 123
},
"apiVersion": "<string>",
"apiResponseError": "<string>",
"complementsImpacts": {
"microfibers": 123,
"outOfEuropeEOL": 123,
"cropDiversity": 123,
"forest": 123,
"hedges": 123,
"livestockDensity": 123,
"permanentPasture": 123,
"plotSize": 123
},
"publishEligibility": {
"eligible": true,
"reasons": [
"<string>"
]
},
"publish": {
"publishedAt": 123,
"publishedBy": "<string>",
"filedScore": 123,
"internalReference": "<string>",
"nextEligibleAt": 123,
"attemptedAt": 123,
"attemptedBy": "<string>",
"apiResponseError": "<string>"
}
},
"identifier": "<string>",
"tags": [
"<string>"
]
}
]
}Use this endpoint to filter and find products within your account. You can search by name, category, materials, or French Eco-Score status.
Check the PIC Data Dictionary for detailed definitions of product and impact fields.
Request body properties
Set to
true to return only products that have a French Eco-Score calculation.Controls pagination.
from specifies the starting index (default 0), and size specifies the number of results to return (default 50).| Name | Type | Description |
|---|---|---|
id | Array<string> | Filter by specific product IDs. |
name | Array<string> | Filter by product names. |
textSearch | Array<string> | General text search across multiple fields. |
productSize | Array<string> | Filter by product sizes. |
productCategory | Array<string> | Filter by product categories. |
component | Array<string> | Filter by component IDs or names. |
material | Array<string> | Filter by material IDs or names. |
packaging | Array<string> | Filter by packaging IDs or names. |
tag | Array<string> | Filter by tags. |
identifier | Array<string> | Filter by product identifiers (e.g., SKU). |
hasFrenchEcoScore | boolean | Filter products that have a French Eco-Score calculated. |
from | number | [DEFAULT: 0] Pagination start index. |
size | number | [DEFAULT: 50] Number of results to return. |
sort | object | Sorting configuration { field: string, order: "asc" | "desc" }. |
Response body properties
The search result includes aresults array containing product details.
This property is located within
purchaseOrder[].assembly and provides the environmental impact specifically for the finished product assembly.Implementation details
- Pagination: Use
fromandsizefor large result sets. The response includes atotalfield to help you calculate the number of pages. - Filtering logic: Most array fields (like
nameormaterial) act as “OR” filters. A product is returned if it matches any of the provided values in the array. - French Eco-Score: Use the
hasFrenchEcoScorefilter to identify products eligible for French environmental labeling.
Related recipes
PIC - Retrieve French Eco-Score
PIC - Create a Product
PIC - Create a Purchase Order
Body
application/json
API Search requests
Show child attributes
Show child attributes
Opt-in only. When true the search restricts results to products eligible to publish to the French Eco-Score declaration portal right now. Omit (or pass false) to skip the filter — both behave identically. Silently ignored for accounts without the publish feature enabled.
⌘I

