CSV import API — headless imports for backends and AI agents
A CSV import API runs the whole pipeline headlessly: ingest → map → transform (dry-run
first) → validate → apply. Mildport’s API is versioned (/api/import/v1), license-keyed,
described by OpenAPI, and runs in your infrastructure — so the automation and the
data share a boundary.
The headless flow
Section titled “The headless flow”# 1. Ingest a file (returns a record id)curl -X POST $BASE/api/import/v1/ingest/file \ -H "Authorization: Bearer $LICENSE" --data-binary @contacts.csv
# 2. Ask for mapping proposals (deterministic scores + reasons)curl -X POST $BASE/api/import/v1/mapping/column \ -H "Authorization: Bearer $LICENSE" -d @columns.json
# 3. Dry-run transforms, then apply — clean rows arrive on your signed webhookEvery response is explainable: match percentages, reason codes, calibrated probabilities. Ambiguity doesn’t fail the run or guess silently — it becomes a typed question your system (or a person) answers, and answered questions teach the per-tenant mapping memory.
Agent-ready, inside your boundary
Section titled “Agent-ready, inside your boundary”The same deployment exposes an MCP server (/.well-known/mcp/server-card.json):
analyze_file, propose_mapping, dry_run_transform, list_catalogs, and — behind a
license entitlement and an operator-enabled switch — execute_import. Agents are
first-class, auditable actors: their answers require cited evidence, and every decision
records who decided.
Unlike cloud importers’ agent surfaces, this one fronts your own instance — an agent can import into your system without customer data ever leaving it.
Proof, not promises
Section titled “Proof, not promises”Imports produce a decision log (mapping reasons, transforms, actors) and can produce a signed receipt that a third party verifies offline. Delivery is idempotent, signed and retried. See self-hosting for the deployment and pricing for the published rate card.
Prefer a UI? The same engine powers the embeddable widget.