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
apps/api/src/database/entities/ReconciliationLink.ts · domain: financial-graph · tier: Supporting