Enrich Product Version
curl --request POST \
--url https://api.merchantops.ai/api/products/{key}/versions/{version}/enrich \
--header 'Content-Type: application/json' \
--data '
{
"enrich_product": true,
"reinitialize_attributes": false,
"scrape_brand_site": true,
"search_lakehouse": true
}
'import requests
url = "https://api.merchantops.ai/api/products/{key}/versions/{version}/enrich"
payload = {
"enrich_product": True,
"reinitialize_attributes": False,
"scrape_brand_site": True,
"search_lakehouse": True
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
enrich_product: true,
reinitialize_attributes: false,
scrape_brand_site: true,
search_lakehouse: true
})
};
fetch('https://api.merchantops.ai/api/products/{key}/versions/{version}/enrich', 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.merchantops.ai/api/products/{key}/versions/{version}/enrich",
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([
'enrich_product' => true,
'reinitialize_attributes' => false,
'scrape_brand_site' => true,
'search_lakehouse' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.merchantops.ai/api/products/{key}/versions/{version}/enrich"
payload := strings.NewReader("{\n \"enrich_product\": true,\n \"reinitialize_attributes\": false,\n \"scrape_brand_site\": true,\n \"search_lakehouse\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
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.merchantops.ai/api/products/{key}/versions/{version}/enrich")
.header("Content-Type", "application/json")
.body("{\n \"enrich_product\": true,\n \"reinitialize_attributes\": false,\n \"scrape_brand_site\": true,\n \"search_lakehouse\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.merchantops.ai/api/products/{key}/versions/{version}/enrich")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"enrich_product\": true,\n \"reinitialize_attributes\": false,\n \"scrape_brand_site\": true,\n \"search_lakehouse\": true\n}"
response = http.request(request)
puts response.read_body{
"job_id": "<string>",
"message": "<string>",
"product_key": "<string>",
"source": "<string>",
"version": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Products
Enrich Product Version
Trigger enrichment for an existing product version.
Authentication Required: Requires product:write permission.
POST
/
api
/
products
/
{key}
/
versions
/
{version}
/
enrich
Enrich Product Version
curl --request POST \
--url https://api.merchantops.ai/api/products/{key}/versions/{version}/enrich \
--header 'Content-Type: application/json' \
--data '
{
"enrich_product": true,
"reinitialize_attributes": false,
"scrape_brand_site": true,
"search_lakehouse": true
}
'import requests
url = "https://api.merchantops.ai/api/products/{key}/versions/{version}/enrich"
payload = {
"enrich_product": True,
"reinitialize_attributes": False,
"scrape_brand_site": True,
"search_lakehouse": True
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
enrich_product: true,
reinitialize_attributes: false,
scrape_brand_site: true,
search_lakehouse: true
})
};
fetch('https://api.merchantops.ai/api/products/{key}/versions/{version}/enrich', 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.merchantops.ai/api/products/{key}/versions/{version}/enrich",
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([
'enrich_product' => true,
'reinitialize_attributes' => false,
'scrape_brand_site' => true,
'search_lakehouse' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.merchantops.ai/api/products/{key}/versions/{version}/enrich"
payload := strings.NewReader("{\n \"enrich_product\": true,\n \"reinitialize_attributes\": false,\n \"scrape_brand_site\": true,\n \"search_lakehouse\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
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.merchantops.ai/api/products/{key}/versions/{version}/enrich")
.header("Content-Type", "application/json")
.body("{\n \"enrich_product\": true,\n \"reinitialize_attributes\": false,\n \"scrape_brand_site\": true,\n \"search_lakehouse\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.merchantops.ai/api/products/{key}/versions/{version}/enrich")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"enrich_product\": true,\n \"reinitialize_attributes\": false,\n \"scrape_brand_site\": true,\n \"search_lakehouse\": true\n}"
response = http.request(request)
puts response.read_body{
"job_id": "<string>",
"message": "<string>",
"product_key": "<string>",
"source": "<string>",
"version": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Cookies
Body
application/json
Request model for enriching an existing product version.
Run AI enrichment (description, features, attributes)
Clear and reinitialize attributes from ProductType before enrichment
Scrape brand website during enrichment
Search product lakehouse for existing data