CSV Input
FUME converts CSV input to JSON before evaluation. The converter uses the header row as property names and returns an array of row objects.
Inspect normalized JSON
Use the root endpoint with fume: "$" to inspect the converted JSON shape before you write a mapping.
If you need the canonical endpoint guidance for POST /, saved mappings, or verbose execution, see Server API execution patterns.
{
"input": "encounterId,patientId,status,...",
"contentType": "text/csv",
"fume": "$"
}
For CSV requests, input is the original CSV document as a string.
Original input file
Canonical CSV input
This whole file is converted to JSON before evaluation.
encounterId,patientId,status,class,type,reason,facility,practitionerId,start,end
enc-1001,pat-0001,finished,outpatient,primary-care,routine follow-up,ExampleCare Clinic,prac-4001,2026-02-14T09:30:00Z,2026-02-14T10:05:00Z
enc-1002,pat-0001,finished,outpatient,imaging,headache evaluation,ExampleCare Imaging,prac-4002,2026-03-01T15:10:00Z,2026-03-01T15:45:00Z
enc-1003,pat-0001,in-progress,virtual,care-coordination,medication questions,ExampleCare Clinic,prac-4003,2026-03-10T11:20:00Z,
enc-1004,pat-0001,planned,outpatient,lab,fasting labs,ExampleCare Clinic,prac-4001,2026-03-20T08:00:00Z,
Normalized JSON before evaluation
Normalized JSON
The converter returns an array of row objects keyed by the CSV headers.
[
{
"encounterId": "enc-1001",
"patientId": "pat-0001",
"status": "finished",
"class": "outpatient",
"type": "primary-care",
"reason": "routine follow-up",
"facility": "ExampleCare Clinic",
"practitionerId": "prac-4001",
"start": "2026-02-14T09:30:00Z",
"end": "2026-02-14T10:05:00Z"
},
{
"encounterId": "enc-1002",
"patientId": "pat-0001",
"status": "finished",
"class": "outpatient",
"type": "imaging",
"reason": "headache evaluation",
"facility": "ExampleCare Imaging",
"practitionerId": "prac-4002",
"start": "2026-03-01T15:10:00Z",
"end": "2026-03-01T15:45:00Z"
},
{
"encounterId": "enc-1003",
"patientId": "pat-0001",
"status": "in-progress",
"class": "virtual",
"type": "care-coordination",
"reason": "medication questions",
"facility": "ExampleCare Clinic",
"practitionerId": "prac-4003",
"start": "2026-03-10T11:20:00Z",
"end": ""
},
{
"encounterId": "enc-1004",
"patientId": "pat-0001",
"status": "planned",
"class": "outpatient",
"type": "lab",
"reason": "fasting labs",
"facility": "ExampleCare Clinic",
"practitionerId": "prac-4001",
"start": "2026-03-20T08:00:00Z",
"end": ""
}
]
If part of your input still contains raw CSV text, use $parseCsv() to convert that string into the same row-object shape during evaluation.
What to expect
- The first row becomes the property names.
- Each subsequent row becomes one object in the returned array.
- CSV values remain strings, including numeric-looking values and booleans.
- Empty cells remain empty strings.
A mapping that works against this normalized JSON also works when you send the original CSV input, because the CSV is converted before evaluation starts.