Remove products
curl --request DELETE \
--url https://api.products.kameleoon.com/import/products \
--header 'Content-Type: application/json' \
--data '
{
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"items": [
"1635",
"3743",
"7578",
"432"
]
}
'import requests
url = "https://api.products.kameleoon.com/import/products"
payload = {
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"items": ["1635", "3743", "7578", "432"]
}
headers = {"Content-Type": "application/json"}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
shop_id: 'eehj3eu84299kg5ghw5a6743r8',
shop_secret: 'pmd5362597thrgq8k256ep01t0',
items: ['1635', '3743', '7578', '432']
})
};
fetch('https://api.products.kameleoon.com/import/products', 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.products.kameleoon.com/import/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'shop_id' => 'eehj3eu84299kg5ghw5a6743r8',
'shop_secret' => 'pmd5362597thrgq8k256ep01t0',
'items' => [
'1635',
'3743',
'7578',
'432'
]
]),
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.products.kameleoon.com/import/products"
payload := strings.NewReader("{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1635\",\n \"3743\",\n \"7578\",\n \"432\"\n ]\n}")
req, _ := http.NewRequest("DELETE", 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.delete("https://api.products.kameleoon.com/import/products")
.header("Content-Type", "application/json")
.body("{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1635\",\n \"3743\",\n \"7578\",\n \"432\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.products.kameleoon.com/import/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1635\",\n \"3743\",\n \"7578\",\n \"432\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "error",
"message": "Incorrect shop credentials"
}Import
Remove products
Delete products from Kameleoon by ID to prevent them from appearing in recommendation results.
DELETE
/
import
/
products
Remove products
curl --request DELETE \
--url https://api.products.kameleoon.com/import/products \
--header 'Content-Type: application/json' \
--data '
{
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"items": [
"1635",
"3743",
"7578",
"432"
]
}
'import requests
url = "https://api.products.kameleoon.com/import/products"
payload = {
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"items": ["1635", "3743", "7578", "432"]
}
headers = {"Content-Type": "application/json"}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
shop_id: 'eehj3eu84299kg5ghw5a6743r8',
shop_secret: 'pmd5362597thrgq8k256ep01t0',
items: ['1635', '3743', '7578', '432']
})
};
fetch('https://api.products.kameleoon.com/import/products', 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.products.kameleoon.com/import/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'shop_id' => 'eehj3eu84299kg5ghw5a6743r8',
'shop_secret' => 'pmd5362597thrgq8k256ep01t0',
'items' => [
'1635',
'3743',
'7578',
'432'
]
]),
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.products.kameleoon.com/import/products"
payload := strings.NewReader("{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1635\",\n \"3743\",\n \"7578\",\n \"432\"\n ]\n}")
req, _ := http.NewRequest("DELETE", 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.delete("https://api.products.kameleoon.com/import/products")
.header("Content-Type", "application/json")
.body("{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1635\",\n \"3743\",\n \"7578\",\n \"432\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.products.kameleoon.com/import/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1635\",\n \"3743\",\n \"7578\",\n \"432\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "error",
"message": "Incorrect shop credentials"
}This endpoint deletes products from Kameleoon to prevent them from appearing in recommendation results.
For a
List of query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
shop_id | String | Yes | Store Key. Find this in Recommendations > Settings > Store settings in the Kameleoon app. Contact your Customer Success Manager for the key if necessary. |
shop_secret | String | Yes | Secret Key. Find this in Recommendations > Settings > Store settings in the Kameleoon app. Contact your Customer Success Manager for the key if necessary. |
items | List | Yes | A list of product IDs. |
DELETE request, list the identifiers (the id) of the products you want to remove, as demonstrated in this example.
Example JSON request
{
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"items": ["1635", "3743", "7578", "432"]
}
Body
application/json
Store Key. Find this in Recommendations > Settings > Store settings in the Kameleoon app. Contact your Customer Success Manager for the key if necessary.
Secret Key. Find this in Recommendations > Settings > Store settings in the Kameleoon app. Contact your Customer Success Manager for the key if necessary.
IDs of the products to remove.
Response
Products removed. Verified against a live response on 2026-09-24: this endpoint returns an empty 204 response on success, not a JSON body — the {"status": "success"} shape only applies to the asynchronous webhook callback payload, if a webhook was provided.
Was this page helpful?
⌘I