Unify and manage your data

Fix grouping match issues for entities and associations

Learn how to use the fixGroupingMatchesState API to remove stored grouping match state for selected entities or associations and trigger asynchronous rematching.

Use the fixGroupingMatchesState API to remove stored grouping match data that can become inconsistent due to processing failures, programmatic errors, or unexpected shutdowns. The API deletes stored grouping matches and related association link data for the resolved member entities. It then publishes match update events, and rematching and regrouping run asynchronously to rebuild the correct state.

Attention: This API does not run matching synchronously, it only clears stored state and triggers events that drive rematching later.

HTTP method and endpoint

Use the following HTTP method and endpoint path to submit the request:
POST  {ApplicationURI}/reltio/tools/matching/fixGroupingMatchesState?tenantId={tenantId}

Query parameters

The following table describes the query parameters and their values.

ParameterTypeRequiredDescriptionAccepted values / Default
tenantIdStringYesThe unique identifier of the tenant.Example: ce5627DYnQ6abcD

Request body

The following table describes the request body parameters, including accepted values and defaults.

ParameterTypeRequiredDescriptionAccepted values / Default
entitiesArray of StringsYes*List of entity IDs for which grouping matches state should be fixed.Example: ["entityId1","entityId2"].
associationsArray of StringsYes*List of association IDs for which grouping matches state should be fixed.Example: ["associationId1","associationId2"].
matchGroupUriStringNoOptional Match Group URI to include for additional context during processing.Example: matchGroups/12345.
traceBooleanNoEnables trace logging for debugging.Default: false

*Either entities or associations must be provided.

Example request

Use the following example to see how a complete request is structured with a JSON body.

POST  {ApplicationURI}/reltio/tools/matching/fixGroupingMatchesState?tenantId={tenantId}

{
  "entities" : [ "00005KL" ],
  "matchGroupUri" : "configuration/entityTypes/HCP/matchGroups/AutomaticGrouping",
  "trace" : true
}

Response body

The following table describes the fields returned in the response body.

FieldTypeDescription
tenantIdStringTenant identifier associated with the operation.
deletedMatchesArray of ObjectsList of deleted grouping matches. Each item includes primaryId, secondaryId, and matchGroups.
deletedMatches.primaryIdStringPrimary entity identifier for the deleted match pair.
deletedMatches.secondaryIdStringSecondary entity identifier for the deleted match pair.
deletedMatches.matchGroupsArray of StringsMatch group URIs associated with the deleted match pair.
entitiesProcessedNumberTotal number of entities processed.
deletedAssociationsArray of StringsList of association IDs deleted or updated as part of the operation (as represented in the report).
associationsProcessedNumberTotal number of associations processed.
processedEventsObjectEvent processing report, including event IDs that were sent or failed.
processedEvents.sentEventsArray of StringsList of event IDs that were successfully sent.
processedEvents.failedEventsArray of StringsList of event IDs that failed to send.

Example response

The following example shows a response with details about the actions performed in the scope of the call.

{
  "tenantId": "tenant_abc123",
  "deletedMatches": [
    {
      "primaryId": "entityId1",
      "secondaryId": "entityId2",
      "matchGroups": [
        "matchGroups/12345",
        "matchGroups/67890"
      ]
    },
    {
      "primaryId": "entityId3",
      "secondaryId": "entityId4",
      "matchGroups": [
        "matchGroups/54321"
      ]
    }
  ],
  "entitiesProcessed": 4,
  "deletedAssociations": [
    "associationId1",
    "associationId2"
  ],
  "associationsProcessed": 2,
  "processedEvents": {
    "sentEvents": [
      "eventId1001",
      "eventId1002"
    ],
    "failedEvents": [
      "eventId1003"
    ]
  }
}