Get Duplicate Scan
curl --request GET \
--url https://omnicommerce.ai/api/v1/products/duplicates/scan \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.ai/api/v1/products/duplicates/scan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.ai/api/v1/products/duplicates/scan"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"apiVersion": "<string>",
"operationId": "<string>",
"status": "accepted",
"data": {
"status": "idle",
"productCount": 4503599627370495,
"computedAt": "<string>",
"requestedAt": "<string>",
"errorMessage": "<string>"
},
"warnings": [
"<string>"
],
"recommendations": [
"<string>"
],
"links": {},
"error": "<string>"
}Products
Get Duplicate Scan
Read the same organization-scoped duplicate scan status as Products → Check duplicates. Requires catalog:read. queued/running means the durable scan is still in progress; failed includes errorMessage. completed exposes computedAt and the number of duplicate products. Results are read through products.list with status=duplicates and detail=full. The shared UI scan currently examines at most the 5,000 most recently updated non-archived root products; a completed scan is not proof that a larger catalog has been fully examined.
GET
/
api
/
v1
/
products
/
duplicates
/
scan
Get Duplicate Scan
curl --request GET \
--url https://omnicommerce.ai/api/v1/products/duplicates/scan \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.ai/api/v1/products/duplicates/scan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.ai/api/v1/products/duplicates/scan"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"apiVersion": "<string>",
"operationId": "<string>",
"status": "accepted",
"data": {
"status": "idle",
"productCount": 4503599627370495,
"computedAt": "<string>",
"requestedAt": "<string>",
"errorMessage": "<string>"
},
"warnings": [
"<string>"
],
"recommendations": [
"<string>"
],
"links": {},
"error": "<string>"
}Authorizations
Bearer API key for server-to-server access. Session auth is also supported in first-party UI flows.
Query Parameters
Session-authenticated scope only; API credentials use their own organization.
Response
Current saved scan status.