---
schema_version: "1"
id: 5fa4292b7904b64f162387896378f9f48d5fe1c1bea11fc38f68754f9f2cd609
title: Identity Resolution (Data Cloud Connect API)
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/mc-core/references/generated-api-specs/mc-connect-identity-resolution.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud-growth/references/mc-connect-identity-resolution
source_site: developer.salesforce.com
content_type: documentation
content_hash: 37f45d43f26cca7bdf05f8664acc01a7db806239e6a73794290fb8b8270f4f5e
products:
  - Marketing Cloud Next
  - Marketing Cloud
---
Identity Resolution (Data Cloud Connect API)

# Identity Resolution (Data Cloud Connect API)

Manage and execute identity-resolution rulesets for Marketing Cloud Next by using Connect API.

This table lists the identity-resolution-related use cases that Connect API supports.

| Supported Use Case | HTTP Verb | URI |
| --- | --- | --- |
| Get identity-resolution rulesets | [GET](/docs/marketing/marketing-cloud-core/references/mc-connect-identity-resolution?meta=getIdentityResolutionRulesets) | /services/data/{apiVersion}/ssot/identity-resolutions |
| Get identity-resolution ruleset details | [GET](/docs/marketing/marketing-cloud-core/references/mc-connect-identity-resolution?meta=getIdentityResolutionRuleset) | /services/data/{apiVersion}/ssot/identity-resolutions/{identityResolutionRulesetId} |
| Run an identity-resolution ruleset immediately | [POST](/docs/marketing/marketing-cloud-core/references/mc-connect-identity-resolution?meta=runIdentityResolutionRuleset) | /servics/data/{apiVersion}/ssot/identity-resolutions/{identityResolutionRulesetId}/actions/run-now |

**Version:** v68.0

## Servers

*   `https://{subdomain}.my.salesforce.com`
    *   `subdomain (default (no default)) The unique API subdomain for your Salesforce org.`

## Operations

### GET Retrieve a list of identity-resolution rulesets in your org.

`GET /services/data/{apiVersion}/ssot/identity-resolutions`

Operation ID: `getIdentityResolutionRulesets`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to Connect API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    

#### Responses

*   **200** This response indicates that the API accepted your request to retrieve a list of identity-resolution rulesets for your org.
    
    Media type: `application/json`. Schema: `idGetResponseBody`.
    
    _Example_
    
    ```
    {
      "identityResolutions": [
        {
          "anonymousUnifiedProfiles": 0,
          "configurationType": "individual",
          "consolidationRate": 0,
          "dataSpaceName": "default",
          "doesRunAutomatically": true,
          "id": "1ir1Q0000004CKHQA2",
          "knownUnifiedProfiles": 15,
          "label": "My Ruleset",
          "lastJobCompleted": "2024-02-03T01:23:36.000Z",
          "lastJobStatus": "SKIPPED",
          "matchRules": [
            {
              "criteria": [
                {
                  "caseSensitiveMatch": false,
                  "entityName": "ssot__Individual__dlm",
                  "fieldName": "ssot__FirstName__c",
                  "matchMethodType": "fuzzy",
                  "shouldMatchOnBlank": false
                },
                {
                  "caseSensitiveMatch": false,
                  "entityName": "ssot__Individual__dlm",
                  "fieldName": "ssot__LastName__c",
                  "matchMethodType": "exact",
                  "shouldMatchOnBlank": false
                },
                {
                  "caseSensitiveMatch": false,
                  "entityName": "ssot__ContactPointEmail__dlm",
                  "fieldName": "ssot__EmailAddress__c",
                  "matchMethodType": "exactnormalized",
                  "shouldMatchOnBlank": false
                }
              ],
              "label": "My Ruleset"
            }
          ],
          "matchedSourceProfiles": 0,
          "objectApiName": "Individual",
          "reconciliationRules": [
            {
              "entityName": "ssot__Individual__dlm",
              "fields": [],
              "linkDmoName": "IndividualIdentityLink__dlm",
              "ruleType": "lastupdated",
              "shouldIgnoreEmptyValue": true,
              "sources": [],
              "unifiedDmoName": "UnifiedIndividual__dlm"
            },
            {
              "entityName": "ssot__ContactPointEmail__dlm",
              "fields": [],
              "linkDmoName": "ContactPointEmailIdentityLink__dlm",
              "ruleType": "mostfrequent",
              "shouldIgnoreEmptyValue": true,
              "sources": [],
              "unifiedDmoName": "UnifiedContactPointEmail__dlm"
            },
            {
              "entityName": "ssot__ContactPointAddress__dlm",
              "fields": [],
              "linkDmoName": "ContactPointAddressIdentityLink__dlm",
              "ruleType": "mostfrequent",
              "shouldIgnoreEmptyValue": true,
              "sources": [],
              "unifiedDmoName": "UnifiedContactPointAddress__dlm"
            }
          ],
          "rulesetStatus": "PUBLISHED",
          "sourceProfiles": 15,
          "totalUnifiedProfiles": 15
        }
      ]
    }
    ```
    
*   **401** This response indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that your authorization token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    [
      {
        "message": "Session expired or invalid",
        "errorCode": "INVALID_SESSION_ID"
      }
    ]
    ```
    

### POST Create an identity-resolution ruleset.

`POST /services/data/{apiVersion}/ssot/identity-resolutions`

Operation ID: `createIdentityResolutionRuleset`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to Connect API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    

#### Responses

*   **201** This response indicates that the API accepted your request to create an identity-resolution ruleset.
    
    Media type: `application/json`. Schema: `idCreateResponseBody`.
    
    _Example_
    
    ```
    {
      "configurationType": "individual",
      "dataSpaceName": "default",
      "doesRunAutomatically": false,
      "id": "1ir1Q0000004XYzQAM",
      "label": "My_New_Ruleset",
      "matchRules": [
        {
          "criteria": [
            {
              "caseSensitiveMatch": false,
              "entityName": "ssot__Individual__dlm",
              "fieldName": "ssot__FirstName__c",
              "matchMethodType": "fuzzy",
              "shouldMatchOnBlank": false
            },
            {
              "caseSensitiveMatch": false,
              "entityName": "ssot__Individual__dlm",
              "fieldName": "ssot__LastName__c",
              "matchMethodType": "exact",
              "shouldMatchOnBlank": false
            },
            {
              "caseSensitiveMatch": false,
              "entityName": "ssot__ContactPointEmail__dlm",
              "fieldName": "ssot__EmailAddress__c",
              "matchMethodType": "exactnormalized",
              "shouldMatchOnBlank": false
            }
          ],
          "label": "My_New_Ruleset"
        }
      ],
      "objectApiName": "Individual_sufx",
      "reconciliationRules": [
        {
          "entityName": "ssot__Individual__dlm",
          "fields": [],
          "linkDmoName": "UnifiedLinkssotIndividualSufx__dlm",
          "ruleType": "lastupdated",
          "shouldIgnoreEmptyValue": true,
          "sources": [],
          "unifiedDmoName": "UnifiedssotIndividualSufx__dlm"
        },
        {
          "entityName": "ssot__ContactPointEmail__dlm",
          "fields": [],
          "linkDmoName": "UnifiedLinkssotContactPointEmailSufx__dlm",
          "ruleType": "mostfrequent",
          "shouldIgnoreEmptyValue": true,
          "sources": [],
          "unifiedDmoName": "UnifiedssotContactPointEmailSufx__dlm"
        },
        {
          "entityName": "ssot__ContactPointAddress__dlm",
          "fields": [],
          "linkDmoName": "UnifiedLinkssotContactPointAddressSufx__dlm",
          "ruleType": "mostfrequent",
          "shouldIgnoreEmptyValue": true,
          "sources": [],
          "unifiedDmoName": "UnifiedssotContactPointAddressSufx__dlm"
        }
      ],
      "rulesetStatus": "PUBLISHING"
    }
    ```
    
*   **400** This response indicates that the API wasn’t able to complete your request because there was a problem with the request. Check the request body to make sure that it contains all of the required properties.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    [
      {
        "errorCode": "INVALID_INPUT",
        "message": "You can't create a new ruleset for ${dmoName} because it already has 2 published rulesets. Update an existing ruleset or delete a ruleset and try again."
      }
    ]
    ```
    
*   **401** This response indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that your authorization token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    [
      {
        "message": "Session expired or invalid",
        "errorCode": "INVALID_SESSION_ID"
      }
    ]
    ```
    

### GET Retrieve details of a specific identity-resolution ruleset.

`GET /services/data/{apiVersion}/ssot/identity-resolutions/{identityResolutionRulesetId}`

Operation ID: `getIdentityResolutionRuleset`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to Connect API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `identityResolutionId` (path, string, required) The unique ID of an identity-resolution ruleset.

#### Responses

*   **200** This response indicates that the API accepted your request to retrieve a list of identity-resolution rulesets for your org.
    
    Media type: `application/json`. Schema: `idGetResponseBody`.
    
    _Example: same as GET /services/data/{apiVersion}/ssot/identity-resolutions 200 response._
    
*   **401** This response indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that your authorization token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    [
      {
        "message": "Session expired or invalid",
        "errorCode": "INVALID_SESSION_ID"
      }
    ]
    ```
    
*   **404** This response indicates that the URI in your request couldn’t be reached. When you receive a 404 response, verify that your request included the correct ID or name for the identity-resolution ruleset.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    [
      {
        "errorCode": "ITEM_NOT_FOUND",
        "message": "Identity Resolution not found: 1ir1Q0000000XYZQA2"
      }
    ]
    ```
    

### DELETE Delete an identity-resolution ruleset.

`DELETE /services/data/{apiVersion}/ssot/identity-resolutions/{identityResolutionRulesetId}`

Operation ID: `deleteIdentityResolutionRuleset`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to Connect API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `identityResolutionId` (path, string, required) The unique ID of an identity-resolution ruleset.

#### Responses

*   **204** Indicates that the API accepted your request to delete the identity-resolution ruleset. The response contains no content.
*   **401** This response indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that your authorization token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    [
      {
        "message": "Session expired or invalid",
        "errorCode": "INVALID_SESSION_ID"
      }
    ]
    ```
    
*   **404** This response indicates that the URI in your request couldn’t be reached. When you receive a 404 response, verify that your request included the correct ID or name for the identity-resolution ruleset.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    [
      {
        "errorCode": "ITEM_NOT_FOUND",
        "message": "Identity Resolution not found: 1ir1Q0000000XYZQA2"
      }
    ]
    ```
    

### PATCH Update an identity-resolution ruleset.

`PATCH /services/data/{apiVersion}/ssot/identity-resolutions/{identityResolutionRulesetId}`

Operation ID: `updateIdentityResolutionRuleset`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to Connect API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `identityResolutionId` (path, string, required) The unique ID of an identity-resolution ruleset.

#### Responses

*   **200** This response indicates that the API accepted your request to retrieve a list of identity-resolution rulesets for your org.
    
    Media type: `application/json`. Schema: `idGetResponseBody`.
    
    _Example: same as GET /services/data/{apiVersion}/ssot/identity-resolutions 200 response._
    
*   **400** This response indicates that the API wasn’t able to complete your request because there was a problem with the request. Check the request body to make sure that it contains all of the required properties.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example: same as POST /services/data/{apiVersion}/ssot/identity-resolutions 400 response._
    
*   **401** This response indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that your authorization token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    [
      {
        "message": "Session expired or invalid",
        "errorCode": "INVALID_SESSION_ID"
      }
    ]
    ```
    
*   **404** This response indicates that the URI in your request couldn’t be reached. When you receive a 404 response, verify that your request included the correct ID or name for the identity-resolution ruleset.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    [
      {
        "errorCode": "ITEM_NOT_FOUND",
        "message": "Identity Resolution not found: 1ir1Q0000000XYZQA2"
      }
    ]
    ```
    

### POST Run an identity-resolution ruleset immediately.

`POST /servics/data/{apiVersion}/ssot/identity-resolutions/{identityResolutionRulesetId}/actions/run-now`

Operation ID: `runIdentityResolutionRuleset`.

#### Parameters

*   `Authorization` (header, string, required) A unique, time-limited token that you can use to issue requests to Connect API. Replace `YOUR_ACCESS_TOKEN` with your authentication token.
    
    _Example_
    
    ```
    Bearer YOUR_ACCESS_TOKEN
    ```
    
*   `identityResolutionId` (path, string, required) The unique ID of an identity-resolution ruleset.

#### Request body (required)

Media type: `application/json`.

_Example_

```
{}
```

#### Responses

*   **200** This response indicates that the API accepted your request to run an identity-resolution ruleset immediately.
    
    Media type: `application/json`. Schema: `idRunNowResponseBody`.
    
    _Example_
    
    ```
    {
      "resultCode": "NoPendingChangesJobRunSkipped"
    }
    ```
    
*   **401** This response indicates that the API wasn’t able to authorize your request. When you receive a 401 response, verify that your authorization token is still valid.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    [
      {
        "message": "Session expired or invalid",
        "errorCode": "INVALID_SESSION_ID"
      }
    ]
    ```
    
*   **404** This response indicates that the URI in your request couldn’t be reached. When you receive a 404 response, verify that your request included the correct ID or name for the identity-resolution ruleset.
    
    Media type: `application/json`. Schema: `httpErrorResponseBody`.
    
    _Example_
    
    ```
    [
      {
        "errorCode": "ITEM_NOT_FOUND",
        "message": "Identity Resolution not found: 1ir1Q0000000XYZQA2"
      }
    ]
    ```
    

## Schemas

### idGetResponseBody

*   `identityResolutions` (_array of object_)
    *   `anonymousUnifiedProfiles` (_number (integer)_)
    *   `configurationType` (_string_) The source object for the identity-resolution ruleset.  
        Allowed values: `Account`, `Individual`.
    *   `consolidationRate` (_number (float)_)
    *   `dataSpaceName` (_string_)
    *   `doesRunAutomatically` (_boolean_) If this value is `true`, the ruleset is configured to run automatically on a defined schedule. Otherwise, the ruleset doesn’t run automatically.
    *   `id` (_string_) The unique ID of the identity-resolution ruleset.
    *   `knownUnifiedProfiles` (_number (integer)_) The number of records that the ruleset has unified.
    *   `label` (_string_) The name of the ruleset.
    *   `description` (_string_) A description of the ruleset.
    *   `lastJobCompleted` (_string (date-time)_) A timestamp that indicates the last time the ruleset ran.
    *   `lastJobStatus` (_string_) The result that occurred the last time the ruleset ran.
    *   `matchRules` (_array of object_)
        *   `label` (_string_) A label for the ruleset.
        *   `criteria` (_array of object_)
            *   `caseSensitiveMatch` (_boolean_)
            *   `entityName` (_string_)
            *   `fieldName` (_string_)
            *   `matchMethodType` (_string_)
            *   `shouldMatchOnBlank` (_boolean_)
    *   `matchedSourceProfiles` (_number (integer)_)
    *   `objectApiName` (_string_)
    *   `reconciliationRules` (_array of object_)
        *   `entityName` (_string_)
        *   `fields` (_array of any_)
        *   `linkDmoName` (_string_)
        *   `ruleType` (_string_)
        *   `shouldIgnoreEmptyValue` (_boolean_)
        *   `sources` (_array of any_)
        *   `unifiedDmoName` (_string_)
    *   `rulesetStatus` (_string_) The status of the ruleset.
    *   `sourceProfiles` (_number (integer)_)
    *   `totalUnifiedProfiles` (_number (integer)_) The total number of records that the ruleset has unified.

### httpErrorResponseBody

Array of `object`.

*   `errorcode` (_string_) The error message.
*   `message` (_string_) A detailed error message.

### idCreateResponseBody

*   `configurationType` (_string_) The source object for the identity-resolution ruleset.  
    Allowed values: `Account`, `Individual`.
*   `dataSpaceName` (_string_) The name of the data space for the identity-resolution ruleset.
*   `doesRunAutomatically` (_boolean_) If this value is `true`, the ruleset is configured to run automatically on a defined schedule. Otherwise, the ruleset doesn’t run automatically.
*   `id` (_string_) The unique ID of the identity-resolution ruleset.
*   `label` (_string_) The name of the ruleset.
*   `matchRules` (_array of object_)
    *   `label` (_string_) A label for the ruleset.
    *   `criteria` (_array of object_)
        *   `caseSensitiveMatch` (_boolean_)
        *   `entityName` (_string_)
        *   `fieldName` (_string_)
        *   `matchMethodType` (_string_)
        *   `shouldMatchOnBlank` (_boolean_)
*   `objectApiName` (_string_)
*   `reconciliationRules` (_array of object_)
    *   `entityName` (_string_)
    *   `fields` (_array of any_)
    *   `linkDmoName` (_string_)
    *   `ruleType` (_string_)
    *   `shouldIgnoreEmptyValue` (_boolean_)
    *   `sources` (_array of any_)
    *   `unifiedDmoName` (_string_)
*   `rulesetStatus` (_string_) The status of the ruleset.

### idRunNowResponseBody

*   `resultCode` (_string_) The result of running the identity-resolution ruleset.  
    Allowed values: `ExceededMaximumNumberOfSuccessfulRunsAllowedIn24Hours`, `IdentityResolutionJobIsAlreadyRunning`, `NoPendingChangesJobRunSkipped`, `SuccessfullySubmittedIdentityResolutionJobRunRequest`.

### idCreateRequestBody

*   `configurationType` (_string_) The source object for the identity-resolution ruleset.  
    Allowed values: `Account`, `Individual`.
*   `label` (_string_) The name of the ruleset.
*   `description` (_string_) A description of the ruleset.
*   `matchRules` (_array of object_)
    *   `label` (_string_) A label for the ruleset.
    *   `criteria` (_array of object_)
        *   `caseSensitiveMatch` (_boolean_)
        *   `entityName` (_string_)
        *   `fieldName` (_string_)
        *   `matchMethodType` (_string_)
        *   `shouldMatchOnBlank` (_boolean_)
*   `reconciliationRules` (_array of object_)
    *   `entityName` (_string_)
    *   `fields` (_array of any_)
    *   `linkDmoName` (_string_)
    *   `ruleType` (_string_)
    *   `shouldIgnoreEmptyValue` (_boolean_)
    *   `sources` (_array of any_)
    *   `unifiedDmoName` (_string_)

### idGetDetailsResponseBody

*   `anonymousUnifiedProfiles` (_number (integer)_)
*   `configurationType` (_string_) The source object for the identity-resolution ruleset.  
    Allowed values: `Account`, `Individual`.
*   `consolidationRate` (_number (float)_)
*   `dataSpaceName` (_string_) The name of the data space for the identity-resolution ruleset.
*   `doesRunAutomatically` (_boolean_) If this value is `true`, the ruleset is configured to run automatically on a defined schedule. Otherwise, the ruleset doesn’t run automatically.
*   `id` (_string_) The unique ID of the identity-resolution ruleset.
*   `knownUnifiedProfiles` (_number (integer)_) The number of records that the ruleset has unified.
*   `label` (_string_) The name of the ruleset.
*   `lastJobCompleted` (_string (date-time)_) A timestamp that indicates the last time the ruleset ran.
*   `lastJobStatus` (_string_) The result that occurred the last time the ruleset ran.
*   `matchRules` (_array of object_)
    *   `label` (_string_) A label for the ruleset.
    *   `criteria` (_array of object_)
        *   `caseSensitiveMatch` (_boolean_)
        *   `entityName` (_string_)
        *   `fieldName` (_string_)
        *   `matchMethodType` (_string_)
        *   `shouldMatchOnBlank` (_boolean_)
*   `matchedSourceProfiles` (_number (integer)_)
*   `objectApiName` (_string_)
*   `reconciliationRules` (_array of object_)
    *   `entityName` (_string_)
    *   `fields` (_array of any_)
    *   `linkDmoName` (_string_)
    *   `ruleType` (_string_)
    *   `shouldIgnoreEmptyValue` (_boolean_)
    *   `sources` (_array of any_)
    *   `unifiedDmoName` (_string_)
*   `rulesetStatus` (_string_) The status of the ruleset.
*   `sourceProfiles` (_number (integer)_)
*   `totalUnifiedProfiles` (_number (integer)_) The total number of records that the ruleset has unified.