Submit a product delta update
curl --request POST \
--url https://api-eu-w-1.pureclarity.net/api/delta \
--header 'Content-Type: application/json' \
--data '
{
"AppKey": "your-access-key",
"SecretKey": "your-secret-key",
"Products": [
{
"Id": "PROD-001",
"Title": "Running Shoes - Updated",
"Prices": [
"59.99 GBP",
"74.99 USD"
],
"Categories": [
"shoes",
"running"
],
"Link": "/products/running-shoes",
"Image": "https://cdn.example.com/shoes.jpg"
}
],
"DeleteProducts": [
"PROD-OLD-001"
]
}
'import requests
url = "https://api-eu-w-1.pureclarity.net/api/delta"
payload = {
"AppKey": "your-access-key",
"SecretKey": "your-secret-key",
"Products": [
{
"Id": "PROD-001",
"Title": "Running Shoes - Updated",
"Prices": ["59.99 GBP", "74.99 USD"],
"Categories": ["shoes", "running"],
"Link": "/products/running-shoes",
"Image": "https://cdn.example.com/shoes.jpg"
}
],
"DeleteProducts": ["PROD-OLD-001"]
}
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({
AppKey: 'your-access-key',
SecretKey: 'your-secret-key',
Products: [
{
Id: 'PROD-001',
Title: 'Running Shoes - Updated',
Prices: ['59.99 GBP', '74.99 USD'],
Categories: ['shoes', 'running'],
Link: '/products/running-shoes',
Image: 'https://cdn.example.com/shoes.jpg'
}
],
DeleteProducts: ['PROD-OLD-001']
})
};
fetch('https://api-eu-w-1.pureclarity.net/api/delta', 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-eu-w-1.pureclarity.net/api/delta",
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([
'AppKey' => 'your-access-key',
'SecretKey' => 'your-secret-key',
'Products' => [
[
'Id' => 'PROD-001',
'Title' => 'Running Shoes - Updated',
'Prices' => [
'59.99 GBP',
'74.99 USD'
],
'Categories' => [
'shoes',
'running'
],
'Link' => '/products/running-shoes',
'Image' => 'https://cdn.example.com/shoes.jpg'
]
],
'DeleteProducts' => [
'PROD-OLD-001'
]
]),
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-eu-w-1.pureclarity.net/api/delta"
payload := strings.NewReader("{\n \"AppKey\": \"your-access-key\",\n \"SecretKey\": \"your-secret-key\",\n \"Products\": [\n {\n \"Id\": \"PROD-001\",\n \"Title\": \"Running Shoes - Updated\",\n \"Prices\": [\n \"59.99 GBP\",\n \"74.99 USD\"\n ],\n \"Categories\": [\n \"shoes\",\n \"running\"\n ],\n \"Link\": \"/products/running-shoes\",\n \"Image\": \"https://cdn.example.com/shoes.jpg\"\n }\n ],\n \"DeleteProducts\": [\n \"PROD-OLD-001\"\n ]\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-eu-w-1.pureclarity.net/api/delta")
.header("Content-Type", "application/json")
.body("{\n \"AppKey\": \"your-access-key\",\n \"SecretKey\": \"your-secret-key\",\n \"Products\": [\n {\n \"Id\": \"PROD-001\",\n \"Title\": \"Running Shoes - Updated\",\n \"Prices\": [\n \"59.99 GBP\",\n \"74.99 USD\"\n ],\n \"Categories\": [\n \"shoes\",\n \"running\"\n ],\n \"Link\": \"/products/running-shoes\",\n \"Image\": \"https://cdn.example.com/shoes.jpg\"\n }\n ],\n \"DeleteProducts\": [\n \"PROD-OLD-001\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-eu-w-1.pureclarity.net/api/delta")
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 \"AppKey\": \"your-access-key\",\n \"SecretKey\": \"your-secret-key\",\n \"Products\": [\n {\n \"Id\": \"PROD-001\",\n \"Title\": \"Running Shoes - Updated\",\n \"Prices\": [\n \"59.99 GBP\",\n \"74.99 USD\"\n ],\n \"Categories\": [\n \"shoes\",\n \"running\"\n ],\n \"Link\": \"/products/running-shoes\",\n \"Image\": \"https://cdn.example.com/shoes.jpg\"\n }\n ],\n \"DeleteProducts\": [\n \"PROD-OLD-001\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"Token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}{
"Error": "<string>"
}{
"Error": "<string>"
}{
"Error": "<string>"
}Data Feeds
Submit a product delta update
Submit incremental product updates without resubmitting a full feed. Use this endpoint to add, update, or delete products, manage category assignments, update account-specific pricing, and update user data.
Returns a token that can be used to check the processing status via
the /api/deltastatus endpoint.
POST
/
api
/
delta
Submit a product delta update
curl --request POST \
--url https://api-eu-w-1.pureclarity.net/api/delta \
--header 'Content-Type: application/json' \
--data '
{
"AppKey": "your-access-key",
"SecretKey": "your-secret-key",
"Products": [
{
"Id": "PROD-001",
"Title": "Running Shoes - Updated",
"Prices": [
"59.99 GBP",
"74.99 USD"
],
"Categories": [
"shoes",
"running"
],
"Link": "/products/running-shoes",
"Image": "https://cdn.example.com/shoes.jpg"
}
],
"DeleteProducts": [
"PROD-OLD-001"
]
}
'import requests
url = "https://api-eu-w-1.pureclarity.net/api/delta"
payload = {
"AppKey": "your-access-key",
"SecretKey": "your-secret-key",
"Products": [
{
"Id": "PROD-001",
"Title": "Running Shoes - Updated",
"Prices": ["59.99 GBP", "74.99 USD"],
"Categories": ["shoes", "running"],
"Link": "/products/running-shoes",
"Image": "https://cdn.example.com/shoes.jpg"
}
],
"DeleteProducts": ["PROD-OLD-001"]
}
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({
AppKey: 'your-access-key',
SecretKey: 'your-secret-key',
Products: [
{
Id: 'PROD-001',
Title: 'Running Shoes - Updated',
Prices: ['59.99 GBP', '74.99 USD'],
Categories: ['shoes', 'running'],
Link: '/products/running-shoes',
Image: 'https://cdn.example.com/shoes.jpg'
}
],
DeleteProducts: ['PROD-OLD-001']
})
};
fetch('https://api-eu-w-1.pureclarity.net/api/delta', 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-eu-w-1.pureclarity.net/api/delta",
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([
'AppKey' => 'your-access-key',
'SecretKey' => 'your-secret-key',
'Products' => [
[
'Id' => 'PROD-001',
'Title' => 'Running Shoes - Updated',
'Prices' => [
'59.99 GBP',
'74.99 USD'
],
'Categories' => [
'shoes',
'running'
],
'Link' => '/products/running-shoes',
'Image' => 'https://cdn.example.com/shoes.jpg'
]
],
'DeleteProducts' => [
'PROD-OLD-001'
]
]),
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-eu-w-1.pureclarity.net/api/delta"
payload := strings.NewReader("{\n \"AppKey\": \"your-access-key\",\n \"SecretKey\": \"your-secret-key\",\n \"Products\": [\n {\n \"Id\": \"PROD-001\",\n \"Title\": \"Running Shoes - Updated\",\n \"Prices\": [\n \"59.99 GBP\",\n \"74.99 USD\"\n ],\n \"Categories\": [\n \"shoes\",\n \"running\"\n ],\n \"Link\": \"/products/running-shoes\",\n \"Image\": \"https://cdn.example.com/shoes.jpg\"\n }\n ],\n \"DeleteProducts\": [\n \"PROD-OLD-001\"\n ]\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-eu-w-1.pureclarity.net/api/delta")
.header("Content-Type", "application/json")
.body("{\n \"AppKey\": \"your-access-key\",\n \"SecretKey\": \"your-secret-key\",\n \"Products\": [\n {\n \"Id\": \"PROD-001\",\n \"Title\": \"Running Shoes - Updated\",\n \"Prices\": [\n \"59.99 GBP\",\n \"74.99 USD\"\n ],\n \"Categories\": [\n \"shoes\",\n \"running\"\n ],\n \"Link\": \"/products/running-shoes\",\n \"Image\": \"https://cdn.example.com/shoes.jpg\"\n }\n ],\n \"DeleteProducts\": [\n \"PROD-OLD-001\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-eu-w-1.pureclarity.net/api/delta")
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 \"AppKey\": \"your-access-key\",\n \"SecretKey\": \"your-secret-key\",\n \"Products\": [\n {\n \"Id\": \"PROD-001\",\n \"Title\": \"Running Shoes - Updated\",\n \"Prices\": [\n \"59.99 GBP\",\n \"74.99 USD\"\n ],\n \"Categories\": [\n \"shoes\",\n \"running\"\n ],\n \"Link\": \"/products/running-shoes\",\n \"Image\": \"https://cdn.example.com/shoes.jpg\"\n }\n ],\n \"DeleteProducts\": [\n \"PROD-OLD-001\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"Token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}{
"Error": "<string>"
}{
"Error": "<string>"
}{
"Error": "<string>"
}Body
application/json
