Capability · Cascade

Map any file to your schema, cheapest layer first.

A five-layer, cost-ordered mapping cascade. Each layer runs cheapest-first and stops the moment it resolves a column — so most files never reach the metered AI layer at all.

POST /v1/match

What you get

Built for regulated workloads

The cascade is the product. Five layers run in strict cost order and short-circuit: as soon as a layer resolves a column with enough confidence, the column is claimed and no later — more expensive — layer sees it. Layers 1–3 are free, deterministic and run in-process; layer 4 (embeddings) is cheap and cached; layer 5 (the LLM) is the only metered step, and it only ever sees the columns the first four layers could not place. In practice most files resolve on the free deterministic layers alone.

Layer 1

Statistics

Deterministic auto-accept from a global learning table of past confirmations. Two production-tested rules — {minN:100, minRatio:0.95} and {minN:20, minRatio:1.00} — accept a mapping the moment the evidence is overwhelming. Free, and the fastest possible path.
Layer 2

Heuristic

A normalized compare (accents, punctuation and whitespace stripped) against each field’s column, label and multilingual hints — DE, FR, IT, EN and ES — accepting at ≥0.85. Adding hints is the single highest-leverage way to catch new vocabulary.
Layer 3

Fuzzy

Token-set ratio plus Levenshtein over normalized strings, auto-accepting at 0.80. Tolerates typos, abbreviations and token-order drift — “DOB”, “Date of Birth”, “birth_date” all land on the same field. Pure compute, still free.
Layer 4

Semantic

Embeddings cosine over the header versus each field’s label and hints, accepting at 0.78. Catches meaning the string layers miss. Cheap and cached — and silently skipped when no embedding key is configured, so the cascade still runs.
Layer 5

LLM, batched

Every header that fell through layers 1–4 is resolved in ONE collision-aware batched call — constrained to your allowed column set and told which fields are already claimed. The only metered step, and it sees only the leftovers.
Guarantee

Collision-safe by construction

A target field, once assigned, cannot be reused within the same file. Deterministic layers claim on accept; when AI picks contest one field, the highest-confidence header wins and the rest stay unmapped. Two source columns can never map to one target.

Try it

A real call, end to end

Send headers plus up to three sample rows. The response maps each column to a field and tells you exactly which layer resolved it — so you can see how little of your data ever reached the AI.

Why the order matters
  • Layers 1–3 are free and deterministic — no key, no metering, byte-reproducible.
  • The LLM is skipped entirely for any column an earlier layer resolves. That short-circuit is the single biggest cost lever in the system.
  • Semantic (layer 4) fails soft to OFF when no embedding key is set; the cascade still runs on layers 1–3 and 5.
curl
curl https://api.adaptivmapr.com/v1/match \
  -H "Authorization: Bearer $MAPR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "patient_demographics",
    "headers": ["MRN", "Given", "Surname", "DOB"],
    "sample_rows": [
      ["A-1002", "Ada", "Lovelace", "1985-12-10"],
      ["A-1003", "Alan", "Turing", "1912-06-23"]
    ]
  }'
response
{
  "mappings": [
    { "header": "MRN",     "field": "patient_id",  "source": "statistics", "confidence": 0.99 },
    { "header": "Given",   "field": "first_name",  "source": "heuristic",  "confidence": 0.91 },
    { "header": "Surname", "field": "last_name",   "source": "fuzzy",      "confidence": 0.84 },
    { "header": "DOB",     "field": "birth_date",  "source": "heuristic",  "confidence": 0.88 }
  ]
}

FAQ

Common questions

In schema-only mode, never the rows — only your headers and up to three short sample rows leave your system, and layers 1–3 resolve most columns without any AI at all. The metered layer-5 call only fires for columns nothing else could place, and full-data row-level AI is a separate, opt-in PHI-gated mode routed under a BAA.
It only accepts when the evidence is overwhelming: at least 100 prior confirmations agreeing 95% of the time, or at least 20 agreeing unanimously. Those thresholds are production-tested; below them the column falls through to the next layer rather than guessing.
No — that is forbidden by construction. Once a target field is claimed it is skipped for every other header in the same file, and contested AI picks are awarded to the single highest-confidence header. You can never emit two source columns into one target.
CSV, Excel (multi-sheet), SQL result sets and JSON. The cascade works on headers and sample values, so the source format is irrelevant once parsed — the same engine maps all of them.
Add hints to the template field — the heuristic layer compares against every hint, in five languages. Confirmed mappings also feed the global statistics layer, so the more you commit, the more resolves on layer 1, with no AI, next time.

Ready when you are

Put schema mapping in production — without shipping raw records.

Spin up a key in minutes. Top up a $10 prepaid wallet — every map is a few tokens.

$10 minimum to start · pay only for what you map · PHI under BAA coverage