Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

Data validation

Upload a dataset

  • Last UpdatedJul 01, 2026
  • 2 minute read

The file(s) uploaded comprises the data that is validated against the loaded class library. This is the core set of data for which validation is required, using the associated validation rules from the class library specified during the upload.

Upload using REST

Endpoint: POST /api/account/{accountId}/dataValidation/{instanceId}/v1/dataset

Content-Type: multipart/form-data

Supports CSV, Excel (.xlsx), JSON, and NDJSON file formats.

Upload parameters reference

Parameter

Type

Required

Default

Description

datasetFile

File

No

--

The data file to upload

name

string

No

(generated)

Human readable name

handle

long?

No

(new)

Upload into an existing dataset instead of creating anew

classLibraryHandle

long?

No

--

Associate with a ClassLibrary at upload time

overwriteExisting

bool

No

false

Replace existing file when handle is provided.

requiresTranspose

bool

No

false

Data has rows and columns transposed

requiresSorting

bool

No

false

Sort data during processing

separatorChar

string

No

,

CSV column separator

quoteChar

strong

No

"

CSV quote character

multiValueDelimiter

string

No

--

Delimiter for multi-valued cells (e.g., \|, ;)

hasHeaderRow

bool

No

true

First data row is a header

rowsToSkipBeforeHeaderRow

int

No

0

Rows to skip before header

rowsToSkipAfterHeaderRow

int

No

0

Rows to skip before header data

ignoreUnmappedColumns

bool

No

false

Skip reporting unmapped columns as issues

timeZoneOffsetInMinutes

int?

No

--

UTC offset for date/time values

cultureCodeDateTime

string?

No

--

Culture code for date/time parsing (e.g., en-US)

cultureCodeDecimalNumber

string?

No

--

Culture code for decimal parsing (e.g., de-DE)

cURL example (Excel file)

curl -X POST \

"/api/account/{accountId}/dataValidation/{instanceId}/v1/dataset" \

-H "Authorization: Bearer {token}" \

-F "datasetFile=@equipment-data.xlsx" \

-F "name=Windtopia Equipment Q4 2024" \

-F "classLibraryHandle=100"

cURL example (CSV with custom parsing)

curl -X POST \

"/api/account/{accountId}/dataValidation/{instanceId}/v1/dataset" \

-H "Authorization: Bearer {token}" \

-F "datasetFile=@data.csv" \

-F "name=German Format Data" \

-F "separatorChar=;" \

-F "cultureCodeDecimalNumber=de-DE" \

-F "hasHeaderRow=true" \

-F "rowsToSkipBeforeHeaderRow=2"

Browse Existing Datasets

{

dataValidation {

dataset {

list {

handle name status numberOfSessions numberOfFileFormats numberOfFiles

createdAt lastUpdatedAt etag grantedAccess

}

}

}

}

Count

{ dataValidation { dataset { count } } }

Dataset entity structure

Property

Type

Description

handle

long

Unique indentifier

name

string

Human readable name

retentionPeriodInMinutes

int?

Retention (default is 7 days)

retainUntil

DateTime?

Retention expiry

status

string

Processing state

numberOfSessions

long?

Sessions using this dataset

numberOfFileFormats

long?

Distint file formats

numberOfFiles

long?

File count

createdAt

DateTime

Upload timestamp

lastUpdatedAt

DateTime?

Last update

etag

string

Concurrency token

grantedAccess

string[]

Effective permissions

Child entities: sessions, files, fileFormats, fileSections, properties, createdByUser,

dataObjectMetricsBreakdown

Consistency Check

Before creating a session, verify that the dataset is consistent with the class library:

{

dataValidation {

dataset { consistencyStatus(datasetHandle : 200 classLibraryHandle : 100) }

}

}

In This Topic