---
title: "Execute a entity resolution preview for a given set of data (resolution properties) and identifiers"
method: POST
path: "/mdm/v1/collections/{collectionKey}/entity-resolution/preview"
tags: ["Collections"]
---

# Execute a entity resolution preview for a given set of data (resolution properties) and identifiers

`POST /mdm/v1/collections/{collectionKey}/entity-resolution/preview`

This endpoint allows you to preview/simulate the outcome of the entity resolution process for the given collection.
It returns a list of hits/matches to unified records in the system based the resolution rule of the collection, using the provided data and identifiers.
Use this endpoint to understand how the entity resolution process would behave when injecting a record into the collection, helping you to understand the result on the system.

Note: Entity resolution first checks for duplicate identifiers already present in the system (unified records) and then applies the resolution rule to find matches.
Therefore if matches are found based on identifiers, the resolution properties are ignored.

## Path parameters

- `collectionKey` string, required

## Request body

- object
  - `identifier` V1Identifier[] — Identifiers used in the resolution preview. If any of those identifiers are used by a source record linked to a unified record in the system, the resolution preview will return the unified record as an exact match. Note: identifier match are done at the source record level, so it doesn't include generated relative identities or source identifiers in the format `source:<>:<>`.
    - `id` string — A sequence of Unicode characters.
    - `system` string — String of characters used to identify a name or a resource.
    - `value` string — A sequence of Unicode characters.
    - `use` string — A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents.
    - `period` V1Period — A time period defined by a start and end date and optionally time.
      - `id` string — A sequence of Unicode characters.
      - `start` string — A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.
      - `end` string — A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.
  - `data` object, required — The data used in the resolution preview. It contains properties which must match the resolution properties defined in the resolution rule of the unified collection Note: The data must be a valid JSON object and values must be defined as arrays.

## Response `200`

A successful response. The response contains the list of hits/matches to unified records.

- union
  - object
    - `type` 'IDENTIFIER' | 'RESOLUTION_PROPERTY', required
    - `hits` V1IdentifierHit[], required
      - `to` string, required
      - `matches` V1IdentifierMatch[], required
        - `source` string, required
        - `id` string, required
        - `identifier` V1Identifier, required — An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
          - `id` string — A sequence of Unicode characters.
          - `system` string — String of characters used to identify a name or a resource.
          - `value` string — A sequence of Unicode characters.
          - `use` string — A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents.
          - `period` V1Period — A time period defined by a start and end date and optionally time.
            - `id` string — A sequence of Unicode characters.
            - `start` string — A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.
            - `end` string — A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.
      - `type` 'MATCH_TYPE_MATCH', required
  - object
    - `type` 'IDENTIFIER' | 'RESOLUTION_PROPERTY', required
    - `hits` V1ResolutionMatchResult[], required
      - `to` string, required
      - `resolvers` object, required
      - `matchers` object, required
      - `records` V1RecordHighlighting[]
        - `source` string, required
        - `id` string, required
        - `highlighting` unknown, required
      - `type` 'MATCH_TYPE_NO_MATCH' | 'MATCH_TYPE_MATCH' | 'MATCH_TYPE_POSSIBLE_MATCH', required

## Other responses

- `400` — Returned when the request is malformed or invalid.
- `404` — Returned when the collection does not exist.
- `413` — Returned when the payload exceeds the max content size (100kB).

---

[API](https://skmtc.net/clinia/apis/mdm-api.md) · [All operations](https://skmtc.net/clinia/apis/mdm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clinia/mdm-api/versions/0ea93fa84bac/schema)
