Core pack
3 templates, one canonical shape each.
Universal templates that work across verticals: users, transactions, addresses.
GET /v1/templates
{
"packs": [
{
"id": "core",
"name": "Core",
"template_count": 3
}
],
"templates": [
{ "id": "users_v1", "risk": "low", "field_count": 7, "pack": "core" },
{ "id": "transactions_v1", "risk": "low", "field_count": 7, "pack": "core" },
{ "id": "addresses_v1", "risk": "low", "field_count": 9, "pack": "core" }
]
}The templates
Every template in this pack, printed as it ships.
Canonical column names, field counts, validator ids and risk level — read straight from the shipped template definition. Paste the header row from your own export and the deterministic layers will show you, column by column, which of these 3 it lands on.
Nothing is uploaded. The match runs in this tab against the shipped template vocabulary, using the same normaliser and fuzzy scorer the Worker runs on layers 2 and 3.
Users
lowUser directory: identity, contact, role, and onboarding metadata.
emailid · email · first_name · last_name · role · +2
users_v1ViewTransactions
lowPayment / ledger transactions: amount, currency, status, customer linkage.
id · amount · currency · status · customer_id · +2
transactions_v1ViewAddresses
lowPhysical addresses with optional geocoding.
id · line1 · line2 · city · postal_code · +4
addresses_v1View- 3 templates
- 1 validators in this pack
- 57 header hints across 5 languages
- 23 canonical fields
Side by side
The whole pack as counted facts.
Same information the cards carry, in one scannable block — for the moment you are choosing between two templates that both look plausible. Every number is derived from the shipped definition at build time.
| Template | Fields | Required | Validated | Hints | Risk | FHIR |
|---|---|---|---|---|---|---|
Usersusers_v1 | 7 | 2 | 1 | 20 | low | — |
Transactionstransactions_v1 | 7 | 3 | 0 | 19 | low | — |
Addressesaddresses_v1 | 9 | 3 | 0 | 18 | low | — |
23 canonical columns and 57 distinct header hints across the pack. "Validated" counts columns carrying at least one field-level validator; "hints" counts the distinct multilingual header names the deterministic layers resolve for free.
Validators
The checks that fire before you commit.
1 validator run on this pack. They are pure functions — the same code runs in the Worker, in the browser widget and in the MCP validate_row tool, so a dry run and a commit cannot disagree.
| Validator | What it checks | Templates in this pack |
|---|---|---|
email | RFC-style address shape. | users_v1 |
Empty values bypass a validator — required-ness is checked separately. LOINC / ICD-10 / ATC additionally try to resolve a free-text value to a canonical code before failing.
Review gating
Nothing in this pack needs a review gate.
A template's risk level is the only input to the flag. Medium and high templates make PATCH /uploads/:id/mappings return requires_hitl so your own workflow can hold the commit — it is a flag, not a queue. Native AgentGate HITL integration is on the roadmap for Q3 2026 and is not wired in v1.
Commits straight through. No review flag on the mappings response.
users_v1 · transactions_v1 · addresses_v1
Flagged `requires_hitl: true` with `hitl_status: "pending_review"` so you can gate your own commit workflow.
Flagged `requires_hitl: true` with `hitl_status: "pending_review"`. Regulated identifiers — card data, IBANs, payroll, KYC.
Try it
One call maps a file onto any of them.
Name the template and POST the file. The cascade resolves what it can on the deterministic layers — statistics, heuristic, fuzzy — and only the leftovers reach the metered LLM.
curl -X POST https://api.adaptivmapr.com/v1/uploads \
-H "Authorization: Bearer $ADAPTIVMAPR_API_KEY" \
-F "template=users_v1" \
-F "file=@your_export.csv"Schema-only mode sends column headers plus at most three sample rows, each clamped to 80 characters — a data-minimization mode enforced at the HTTP edge. Full-data mode routes the metered layer-5 call in-region under a BAA and costs 20% more, and stays locked until the workspace accepts the BAA/NDA in Settings → Security & Data.
Read the quickstart- users_v1Users7 fields
- transactions_v1Transactions7 fields
- addresses_v1Addresses9 fields
Ready when you are
Put the core pack to work — without shipping raw records.
Schema-only mode leaves only headers and up to three clamped sample rows. Full-data adds row-level AI, routed in-region under a BAA.