Merge preview
curl --request GET \
--url https://api.sortx.co.uk/contacts/{id}/merge-preview \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sortx.co.uk/contacts/{id}/merge-preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sortx.co.uk/contacts/{id}/merge-preview"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"survivor": {
"id": "<string>",
"kind": "<string>",
"name": "<string>",
"email": "<string>",
"mobile": "<string>",
"addressPostcode": "<string>",
"roles": [
"<string>"
],
"archivedAt": "<string>"
},
"absorbed": {
"id": "<string>",
"kind": "<string>",
"name": "<string>",
"email": "<string>",
"mobile": "<string>",
"addressPostcode": "<string>",
"roles": [
"<string>"
],
"archivedAt": "<string>"
},
"allowed": true,
"refusals": [
{
"code": "same_record",
"message": "<string>"
}
],
"warnings": [
{
"code": "<string>",
"message": "<string>"
}
],
"fields": [
{
"field": "<string>",
"label": "<string>",
"survivor": "<string>",
"absorbed": "<string>",
"outcome": "same"
}
],
"roles": [
"<string>"
],
"doNotContact": true,
"preferenceChanges": [
{
"channel": "<string>",
"purpose": "<string>",
"from": "<string>",
"to": "<string>"
}
],
"moves": [
{
"family": "<string>",
"label": "<string>",
"count": 123
}
],
"history": [
{
"family": "<string>",
"label": "<string>",
"count": 123
}
],
"previewToken": "<string>"
}{
"_tag": "TenantCreateRejected",
"reason": "<string>",
"field": "<string>"
}{
"_tag": "Unauthenticated"
}{
"_tag": "TenantSuspended",
"tenantId": "<string>",
"reason": "<string>"
}{
"_tag": "EntitlementMissing",
"tenantId": "<string>",
"moduleId": "<string>"
}{
"_tag": "TenantNotFound",
"slug": "<string>"
}{
"_tag": "WebhookDuplicate",
"integration": "<string>",
"externalId": "<string>"
}{
"_tag": "RateLimited",
"key": "<string>",
"retryAfterSeconds": 123,
"message": "<string>"
}{
"_tag": "IntegrationUnavailable",
"integration": "<string>",
"detail": "<string>"
}contacts
Merge preview
What merging another contact into this one would move, keep and refuse
GET
/
contacts
/
{id}
/
merge-preview
Merge preview
curl --request GET \
--url https://api.sortx.co.uk/contacts/{id}/merge-preview \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sortx.co.uk/contacts/{id}/merge-preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sortx.co.uk/contacts/{id}/merge-preview"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"survivor": {
"id": "<string>",
"kind": "<string>",
"name": "<string>",
"email": "<string>",
"mobile": "<string>",
"addressPostcode": "<string>",
"roles": [
"<string>"
],
"archivedAt": "<string>"
},
"absorbed": {
"id": "<string>",
"kind": "<string>",
"name": "<string>",
"email": "<string>",
"mobile": "<string>",
"addressPostcode": "<string>",
"roles": [
"<string>"
],
"archivedAt": "<string>"
},
"allowed": true,
"refusals": [
{
"code": "same_record",
"message": "<string>"
}
],
"warnings": [
{
"code": "<string>",
"message": "<string>"
}
],
"fields": [
{
"field": "<string>",
"label": "<string>",
"survivor": "<string>",
"absorbed": "<string>",
"outcome": "same"
}
],
"roles": [
"<string>"
],
"doNotContact": true,
"preferenceChanges": [
{
"channel": "<string>",
"purpose": "<string>",
"from": "<string>",
"to": "<string>"
}
],
"moves": [
{
"family": "<string>",
"label": "<string>",
"count": 123
}
],
"history": [
{
"family": "<string>",
"label": "<string>",
"count": 123
}
],
"previewToken": "<string>"
}{
"_tag": "TenantCreateRejected",
"reason": "<string>",
"field": "<string>"
}{
"_tag": "Unauthenticated"
}{
"_tag": "TenantSuspended",
"tenantId": "<string>",
"reason": "<string>"
}{
"_tag": "EntitlementMissing",
"tenantId": "<string>",
"moduleId": "<string>"
}{
"_tag": "TenantNotFound",
"slug": "<string>"
}{
"_tag": "WebhookDuplicate",
"integration": "<string>",
"externalId": "<string>"
}{
"_tag": "RateLimited",
"key": "<string>",
"retryAfterSeconds": 123,
"message": "<string>"
}{
"_tag": "IntegrationUnavailable",
"integration": "<string>",
"detail": "<string>"
}Authorizations
A workspace API key (Settings → API keys), scoped to <group>:read / <group>:write.
Path Parameters
Query Parameters
Response
Success
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes