Skip to main content

List Matching Configs

List matching configurations in your workspace: the field mappings, fuzzy matching strategies, and weights used to match documents against reference data.

Matching compares extracted documents against your reference data, such as vendor masters or order lists, using configurable field-level strategies that range from exact equality to fuzzy matching. Each matching configuration defines which fields to compare, how to compare them (exact, fuzzy, date range, numeric range), and the relative weight of each field in the overall confidence score. Reconciliation is a mode of Matching — the reconciliation endpoints run the same comparison engine against transactional reference data — not a separate sibling system.

A typical matching workflow is: upload reference data (CSV or XLSX), create a config with field mappings, run matching, and review results. For complex datasets, use the generate strategy endpoint to let AI recommend optimal field mappings and weights.

  • Each config targets a single reference dataset.
  • Field mappings define source-to-target column pairs with a comparison strategy.
  • Weights must sum to 1.0 across all field mappings.
  • The confidence threshold (default 0.85) controls the minimum score for a match.
GET/v1/matching/configs

Query parameters

limitintegerMaximum number of results to return (1–100). Default: 20
cursorstringPagination cursor from a previous response.
orderstringSort direction by created_at. Default: desc

Response

Response fields

dataarrayArray of matching configuration objects.
data[].idstringConfiguration UUID.
data[].namestringHuman-readable config name.
data[].reference_data_idstringID of the reference dataset this config matches against.
data[].target_typestringTargeting mode (e.g. "run").
data[].target_valueobjectTarget-specific configuration values.
data[].field_mappingsarrayArray of field mapping objects (source, target, strategy, weight).
data[].thresholdnumberMinimum confidence score to consider a match (0–1).
data[].created_atstringISO 8601 creation timestamp.
data[].updated_atstringISO 8601 last update timestamp.
data[].links.selfstringURL to this config.
data[].links.runsstringURL to trigger a run for this config.
pagination.totalintegerTotal number of configs.
pagination.limitintegerMaximum results per page.
pagination.has_morebooleanWhether more results exist beyond this page.
pagination.next_cursorstring | nullCursor to fetch the next page.

Response

{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Vendor Invoice Match",
      "reference_data_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "target_type": "run",
      "target_value": {},
      "field_mappings": [
        { "source": "vendor_name", "target": "name", "strategy": "fuzzy", "weight": 0.4 },
        { "source": "invoice_date", "target": "date", "strategy": "date_range", "weight": 0.3 },
        { "source": "amount", "target": "total", "strategy": "numeric_range", "weight": 0.3 }
      ],
      "threshold": 0.85,
      "created_at": "2024-10-01T08:00:00.000Z",
      "updated_at": "2024-10-01T08:00:00.000Z",
      "links": {
        "self": "/v1/matching/configs/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "runs": "/v1/matching/configs/a1b2c3d4-e5f6-7890-abcd-ef1234567890/run"
      }
    }
  ],
  "pagination": {
    "total": 2,
    "limit": 20,
    "has_more": false,
    "next_cursor": null
  }
}

Errors

Error responses

401unauthorizedMissing or invalid API key.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.