Input & Output

The dc3Api/search endpoint allows searching for records within Salesforce using the Duplicate Check search engine. It evaluates field values against existing records, returning potential duplicates with a matching score.

Authentication

The dc3Api/search endpoint requires authentication via Salesforce OAuth 2.0. Requests must include a valid OAuth access token in the Authorization header. For detailed instructions, see: Salesforce Authentication Guide.

Method Signature

POST /services/apexrest/dupcheck/dc3Api/search

Parameters

TypeVariableDescription
JSONSearchInputThe structured input object containing search parameters.

Fields in SearchInput

FieldTypeRequiredDescription
objectPrefixStringYesThe Salesforce object prefix (e.g., 003 for Contacts, 001 for Accounts, 00Q for Leads).
objectDataMap<String, String>YesA key-value map of field names and values used for the search.
filterDeveloperNameStringNoThe API name of a predefined Duplicate Check filter to refine results.

📘

The REST API Search uses all Plauti Deduplicate scenarios that are applied to "DC Apex API". If multiple scenarios are applied, they return scores using the OR method.

Example request

{
    "objectPrefix": "003",
    "objectData": {
        "FirstName": "John",
        "LastName": "Doe",
        "Email": "[email protected]"
    },
    "filterDeveloperName": "HighValueContacts"
}

Response

The dc3Api/search endpoint returns a SearchOutput, which is a Map<String, List<SearchResult>>. The values are lists of SearchResult objects. Each SearchResult contains a match score (score), scenario-based match scores (scenarioScores), and the matched record’s field values (objectData).

Example Response

{
    "003": [
        {
            "score": 98,
            "scenarioScores": [
                {
                    "scenarioScore": 98,
                    "scenarioName": "Contact Default 1",
                    "scenarioId": "a0RAa000003niPbMAI"
                }
            ],
            "objectData": {
                "attributes": {
                    "type": "Contact",
                    "url": "/services/data/v62.0/sobjects/Contact/003Aa00000XVeYCIA1"
                },
                "Id": "003Aa00000XVeYCIA1",
                "LastName": "Doe",
                "FirstName": "John",
                "Email": "[email protected]",
                "OwnerId": "005Aa00000GCQbGIAX",
                "Name": "John Doe",
                "Owner": {
                    "attributes": {
                        "type": "User",
                        "url": "/services/data/v62.0/sobjects/User/005Aa00000GCQbGIAX"
                    },
                    "Id": "005Aa00000GCQbGIAX",
                    "Name": "API Admin"
                }
            }
        },
        {
            "score": 95,
            "scenarioScores": [
                {
                    "scenarioScore": 95,
                    "scenarioName": "Contact Default 2",
                    "scenarioId": "a0RAa000003niPcMAI"
                }
            ],
            "objectData": {
                "attributes": {
                    "type": "Contact",
                    "url": "/services/data/v62.0/sobjects/Contact/003Aa00000XWoukIAD"
                },
                "Id": "003Aa00000XWoukIAD",
                "LastName": "Doe",
                "FirstName": "Johnathan",
                "Email": "[email protected]",
                "OwnerId": "005Aa00000GCQbGIAX",
                "Name": "Johnathan Doe",
                "Owner": {
                    "attributes": {
                        "type": "User",
                        "url": "/services/data/v62.0/sobjects/User/005Aa00000GCQbGIAX"
                    },
                    "Id": "005Aa00000GCQbGIAX",
                    "Name": "API Admin"
                }
            }
        }
    ]
}