Results
Retrieve matching results for a completed run, filtered by status (matched, review, no_match), with weighted confidence scores and per-field evidence.
Retrieve the full paginated results for a completed matching run. Each result represents a document matched (or unmatched) against the reference dataset, with a weighted confidence score, a match status, and an evidence object showing how each field contributed to the overall score.
Every result carries one of three statuses assigned by the engine: `matched` (confidence at or above the config threshold, default 0.85), `review` (confidence between the review floor of 0.4 and the threshold — a plausible match that needs a human look), or `no_match` (nothing scored high enough). Filter with status=review to work the review band, or status=matched to consume auto-accepted matches. Paginate with page and limit — the run detail endpoint only shows the top 50 results, while this endpoint provides full access.
The evidence object carries field_contributions[] — one entry per field mapping with the extracted and reference values, the match_type used, the per-field score, its weight, and the resulting contribution — plus candidates_considered, the top_n_candidates[] runner-up rows with their confidences, and the blocking_method used for candidate pre-filtering. A null matched_reference_row_id means no reference row produced a positive score at all; a no_match result can still carry the best candidate's row ID when it scored below the threshold.
Use POST /v1/matching/runs/:runId/results/:resultId/review to reclassify individual results after inspection — set matched to accept, no_match to reject. Pair with the config detail endpoint to understand which field mappings and thresholds produced these results. Re-run matching with adjusted weights or a lower threshold to auto-accept more matches.
status: review scored between the review floor (0.4) and your config threshold. Inspect their evidence and reclassify them via POST /v1/matching/runs/:runId/results/:resultId/review. Matched results feed downstream data enrichment and reconciliation workflows./v1/matching/runs/:id/resultsQuery parameters
150Response
Response fields
Response
{
"data": [
{
"id": "e5f6a7b8-c9d0-1234-efab-345678901234",
"document_id": "doc_uuid_1",
"document_filename": "invoice-acme-2024-001.pdf",
"matched_reference_row_id": "ref_row_42",
"confidence": 0.92,
"status": "matched",
"evidence": {
"field_contributions": [
{ "extracted_field": "vendor_name", "extracted_value": "Acme Corp GmbH", "reference_value": "Acme Corp", "match_type": "fuzzy_string", "matched": true, "weight": 0.4, "score": 0.95, "contribution": 0.38 },
{ "extracted_field": "invoice_date", "extracted_value": "2024-09-28", "reference_value": "2024-09-30", "match_type": "date_range", "matched": true, "weight": 0.3, "score": 1.0, "contribution": 0.3 },
{ "extracted_field": "amount", "extracted_value": 14250.00, "reference_value": 14250.50, "match_type": "numeric_range", "matched": true, "weight": 0.3, "score": 0.82, "contribution": 0.25 }
],
"candidates_considered": 3,
"top_n_candidates": [
{ "reference_row_id": "ref_row_42", "confidence": 0.92 },
{ "reference_row_id": "ref_row_87", "confidence": 0.61 }
],
"blocking_method": null
}
}
],
"pagination": {
"total": 183,
"page": 1,
"limit": 50
}
}Errors
Error responses