Skip to main content
ReconciliationLink records a single AI-produced assertion that two distinct entity records represent the same real-world object (source → target). Each link carries the reconciliation action (e.g. merge), a confidence score, structured reasoning, and an optional field_contributions breakdown describing how individual field signals contributed to the match. The link is workspace-scoped, soft-deletable, and optionally tied to a human-review Task when the confidence is below auto-accept thresholds. It is written exclusively by the reconciliation pipeline (reconciliation-persister.ts) and is read-only from the user API layer.
Internal object. Not currently exposed on the public REST API. The operations below describe the intended contract.

API operations

Data model

Attributes

Relationships

System-computed

  • reconciliation_link_id — generated via gen_random_uuid() database default on INSERT; never supplied by the caller
  • created_at — set by MikroORM onCreate hook (new Date()); never updated
  • updated_at — set by MikroORM onCreate and onUpdate hooks; refreshed on every flush
  • deleted_at — managed by the reconciliation pipeline; set to a timestamp on soft-delete; queries must always filter deleted_at IS NULL
  • status — defaults to LinkStatusEnum.ACTIVE (‘active’) at ORM layer; transitioned by the reconciliation persister and review workflow, never by user PATCH
  • pk — auto-increment serial primary key; internal join key only, never exposed in API responses
  • field_contributions — populated by the reconciliation scorer at write time; null when the scoring pass did not produce per-field breakdown data

Example

Source: apps/api/src/database/entities/ReconciliationLink.ts · domain: financial-graph · tier: Supporting