Skip to main content
PATCH
/
api
/
organizations
/
{organizationId}
/
contact-dedup-reviews
/
{reviewId}
/
keep-separate
Mark a contact dedup review as kept separate
curl --request PATCH \
  --url https://your-instance.example.com/api/organizations/{organizationId}/contact-dedup-reviews/{reviewId}/keep-separate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "resolution": {
    "keepContactId": "5f7b1c2e8a1d4e0012c3b4a5",
    "mergedFields": [
      "email",
      "phoneNumber"
    ]
  }
}
'
{
  "success": true,
  "message": "Contact dedup review marked as merged",
  "data": {
    "_id": "5f7b1c2e8a1d4e0012c3b4b0",
    "organizationId": "5f7b1c2e8a1d4e0012c3b400",
    "reviewSource": "fuzzy_match",
    "status": "merged",
    "resolvedAt": "2026-05-18T14:35:00.000Z"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

organizationId
string
required
reviewId
string
required

Body

application/json
resolution
object

Freeform resolution payload recorded on the review; for merges, may include fieldChoices (source/candidate per field) and other reviewer-chosen metadata persisted with the merge audit entry.

Response

Contact dedup review marked as kept separate

success
enum<boolean>
required
Available options:
true
message
string
required
data
object
required
Example:
{
"_id": "5f7b1c2e8a1d4e0012c3b4b0",
"organizationId": "5f7b1c2e8a1d4e0012c3b400",
"sourceContactId": "5f7b1c2e8a1d4e0012c3b4a5",
"candidateContactId": "5f7b1c2e8a1d4e0012c3b4a7",
"reviewSource": "fuzzy_match",
"status": "needs_review",
"score": 86,
"thresholdSnapshot": {
"thresholdPercent": 90,
"reviewThresholdPercent": 70
},
"fieldBreakdown": {
"firstName": 100,
"lastName": 80,
"email": 75
},
"createdAt": "2026-05-18T14:30:00.000Z",
"updatedAt": "2026-05-18T14:30:00.000Z"
}