POSTapi.synup.com/api/v4/locations/listings/mark-as-duplicate
Mark listings as duplicates
This API flags one or more listings as duplicates for a specific location.
Behavior:
- Identifies listings that represent the same business but appear separately across different directories.
- Helps maintain data consistency by marking duplicate entries for review or removal.
Requires an API key. Send it as
Authorization: API <your-key> — see Getting started.Parameters
Headers
| Name | Type | Required | Description |
|---|---|---|---|
Content-Type | string | required |
Body
| Name | Type | Required | Description |
|---|---|---|---|
input | object | required | |
input.locationId | string | required | The unique identifier of the location |
input.listingItemIds | array of string | required | Array of listing IDs to mark as duplicates |
Request
Request
curl -X POST 'https://api.synup.com/api/v4/locations/listings/mark-as-duplicate' \
-H 'Authorization: API YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"input": {
"locationId": "TG9jYXRpb246MjcyODc2",
"listingItemIds": [
"TGlzdGluZ0l0ZW06NDMzODcxMjY=",
"TGlzdGluZ0l0ZW06NDMzODcxMzE="
]
}
}'const res = await fetch('https://api.synup.com/api/v4/locations/listings/mark-as-duplicate', {
method: 'POST',
headers: {
Authorization: 'API YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"input": {
"locationId": "TG9jYXRpb246MjcyODc2",
"listingItemIds": [
"TGlzdGluZ0l0ZW06NDMzODcxMjY=",
"TGlzdGluZ0l0ZW06NDMzODcxMzE="
]
}
}),
});
const data = await res.json();import requests
res = requests.post(
"https://api.synup.com/api/v4/locations/listings/mark-as-duplicate",
headers={
"Authorization": "API YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"input": {
"locationId": "TG9jYXRpb246MjcyODc2",
"listingItemIds": [
"TGlzdGluZ0l0ZW06NDMzODcxMjY=",
"TGlzdGluZ0l0ZW06NDMzODcxMzE="
]
}
},
)
data = res.json()req, _ := http.NewRequest("POST", "https://api.synup.com/api/v4/locations/listings/mark-as-duplicate", bytes.NewBufferString(payload))
req.Header.Set("Authorization", "API YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Responses
| Status | Description |
|---|---|
200 | Listings marked as duplicates successfully |
400 | Bad request - invalid input parameters |
401 | Unauthorized - invalid or missing API key |
403 | Forbidden - insufficient permissions |
404 | Location or listings not found |
Example response (generated from the schema)
{
"data": {
"markAsDuplicate": {
"clientMutationId": "string",
"errors": [
"string"
],
"success": true,
"warnings": [
"string"
]
}
}
}Response body
| Name | Type | Required | Description |
|---|---|---|---|
data | object | optional | |
data.markAsDuplicate | object | optional | |
data.markAsDuplicate.clientMutationId | string | optional | Optional client-provided mutation identifier |
data.markAsDuplicate.errors | array of string | optional | Array of error messages if any occurred |
data.markAsDuplicate.success | boolean | optional | Indicates if the operation was successful |
data.markAsDuplicate.warnings | array of string | optional | Array of warning messages if any occurred |