Skip to main content

Import & Export

Import uploaded files into a Dataset, and export Dataset data to files.

POST /api/datasets/{id}/_import

Import an uploaded file's rows into the Dataset.

Authentication: Required

Request Body:

FieldTypeRequiredDescription
uploadstringYesUpload id from the chunked upload flow (/api/upload/flow)
uploadOptionsobjectNoParser options for the file (see GET /api/dataset-upload-form)
progressstringNoProgress channel id

An invalid or expired upload id answers 417 Expectation Failed.

Behavior:

  • Parses the file with the parser matching its extension and streams the rows into the Dataset's index
  • Fields sync from the resulting mapping, as in a refresh

GET /api/dataset-upload-form

Inspect an upload before importing: answers the parser's option form for the file (delimiter, sheet, header row, …) so a client can build the uploadOptions payload.

Authentication: Required

Query Parameters:

ParameterTypeRequiredDescription
uploadstringYesUpload id

The response shape depends on the file type's parser.


GET /api/datasets/{id}/exporters

List the exporters available for a Dataset: only those eligible for you and allowed by the tenant's export-type restrictions appear.

Authentication: Required

List exporters for a DatasetGET /api/datasets/admin:reorder-points/exporters
Only exporters eligible for you and allowed by the tenant export restrictions appear. The serialized internal validation schemas (optsSchema, configSchema) are omitted here.
Response · 200
[
{
"id": "csv",
"label": "CSV",
"icon": "flaticon-document111",
"optsSchema": "(omitted)",
"editor": "csvEdit",
"download": true,
"extension": "csv",
"contentType": "text/csv",
"canApplyFilter": true,
"canUseInJob": true,
"canToggleFormatting": true,
"applyFormatting": true,
"allowEmbedded": true,
"configSchema": "(omitted)"
},
{
"id": "html",
"label": "HTML",
"icon": "flaticon-html",
"editor": "htmlEdit",
"contentType": "text/html",
"extension": "html",
"optsSchema": "(omitted)",
"download": true,
"canApplyFilter": true,
"canUseInJob": true,
"canToggleFormatting": true,
"applyFormatting": true,
"allowEmbedded": true,
"configSchema": "(omitted)"
},
{
"id": "x-ms-iqy",
"optsSchema": "(omitted)",
"editor": "iqyEdit",
"contentType": "text/x-ms-iqy",
"extension": "iqy",
"canApplyFilter": false,
"canUseInJob": false,
"canToggleFormatting": false,
"applyFormatting": true,
"download": true,
"allowEmbedded": true,
"configSchema": "(omitted)"
},
"… 7 more items (10 total) — omitted from docs"
]
Captured from the API examples test suite; ids and timestamps are normalized.

optsSchema is the exporter's serialized internal validation schema; clients can ignore it.

There is also GET /api/datasets/exporters (no Dataset id), which lists every registered exporter without the per-Dataset eligibility filtering.


GET /api/datasets/{id}/export/{exporter}

Download an export directly: the response streams the file with the exporter's content type.

Authentication: Required

Permission: datasets:export (the exporter may apply its own authorization; tenant export-type restrictions apply)

Query Parameters:

ParameterTypeDescription
sortarrayField names to sort by
omit / includearrayDrop or force specific columns
settingsobjectGrid settings to shape the export; your saved view applies by default
q / filterSearch and filter criteria
applyFormattingbooleanApply display formats to values (default true)
optionsobjectExporter-specific options
timezone / localestringFormatting context
snapshotsobjectSnapshot view override
Download an export directlyGET /api/datasets/admin:reorder-points/export/csv?sort=sku
Streams the file with the exporter content type. sort/omit/include/settings shape the columns; your saved grid settings apply by default.
Response · 200
"\"Product\",\"Reorder At\",\"Sku\"\r\n\"Chai\",\"25.00\",\"BEV-001\"\r\n\"Chang\",\"40.00\",\"BEV-002\""
Captured from the API examples test suite; ids and timestamps are normalized.

POST /api/datasets/{id}/export/{exporter}

Export into a stored Download instead of streaming back directly: answers 201 with the Download row and a Location header; fetch the file from /api/downloads/{id}/{filename}.

Authentication: Required

Permission: datasets:export (as above)

Request Body: the same options as the GET form, plus:

FieldTypeDescription
filenamestringDownload filename (defaults to <name>.<extension>)
progressstringProgress channel id
Export to a DownloadPOST /api/datasets/admin:reorder-points/export/csv
Streams the file into a stored Download and answers 201 with its Location; fetch the file from /api/downloads/{id}/{filename}.
Request body
{
"filename": "reorder-points.csv"
}
Response · 201
{
"_links": {
"self": {
"href": "https://informer.example.com/api/downloads/00000000-0000-4000-8000-000000000001"
}
},
"type": "download",
"id": "00000000-0000-4000-8000-000000000001",
"filename": "reorder-points.csv",
"size": 524288,
"chunks": 1,
"user": "admin",
"created": 1700000000000
}
Captured from the API examples test suite; ids and timestamps are normalized.