SautiDesk
SautiDesk API
Contacts

List possible duplicate contacts

GET
/v1/desk/contacts/duplicates

Lists groups of contacts that look like one person, across the whole workspace. A same_person group shares an account number or has an address filed as a number (high confidence). A same_name group has the same full name ignoring case, spacing and punctuation (medium), or names spelled almost the same that also share an email domain or a phone prefix (low). Each member shows what a merge would move, and any number that is not valid E.164 and so would not be carried.

Requires: desk.read scope, Contacts licence.

Authorization

bearerAuth
AuthorizationBearer <token>

A SautiDesk API key. An owner or admin makes it under Settings in SautiDesk for a named person and picks the scopes. The key is shown once. Send it as Authorization: Bearer <key>. It acts as that person and as nobody else.

In: header

Query Parameters

cursor?string

next_cursor from the previous page. Leave it out for the first page.

limit?integer

Page size: 100 by default, 100 at most.

kind?string

How the call went unanswered: abandoned, rang_out, voicemail or other.

Response

OK

Example

{  "data": [    {      "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",      "kind": "billing",      "basis": "example",      "confidence": "example",      "label": "Amina Wanjiru",      "reason": "Outside business hours",      "member_count": 3,      "truncated": false,      "members": [        {          "id": null,          "name": null,          "company": null,          "numbers": null,          "unusable_numbers": null,          "emails": null,          "tickets": null,          "open_tickets": null,          "created_at": null        }      ]    }  ],  "next_cursor": "eyJvIjoyNX0",  "has_more": false,  "counts": {    "same_person": 1,    "same_name": 1,    "total": 3  },  "scan_limited": false}
FieldTypeDescription
datarequiredobject[]
idrequiredstring
kindrequiredstringWhat kind it is.
basisrequiredstring
confidencerequiredstring
labelrequiredstringA short name to recognise it by.
reasonrequiredstringWhy, in a few words, for example Lunch.
member_countrequiredinteger
truncatedrequiredboolean
membersrequiredobject[]The ids of the people in the queue.
idrequiredstring (uuid)
namerequiredstringA name for it.
companystringThe company the contact works for.
numbersrequiredstring[]
unusable_numbersrequiredstring[]
emailsrequiredstring[]
ticketsrequiredinteger
open_ticketsrequiredinteger
created_atrequiredstring (date-time)
next_cursorrequiredstring | null
has_morerequiredboolean
countsrequiredobject
same_personrequiredinteger
same_namerequiredinteger
totalrequiredinteger
scan_limitedrequiredboolean
curl -X GET "https://api.sautidesk.com/v1/desk/contacts/duplicates"