API Docs / Schemas / CsvImportJobDto

CsvImportJobDto

Represents the current status and progress of a CSV import job.
Returned when starting an import or polling for status.
Use this to track progress and final results of the import operation.

Properties

Name Type Description
codestring

Unique code identifying this import job.
Use this code to poll for status via GET /{code}.

Unique code identifying this import job.
Use this code to poll for status via GET /{code}.

statusenum

Queued InProgress Completed Failed Cancelled

Queued InProgress Completed Failed Cancelled

fileNamestring

Original filename of the uploaded CSV file.

Original filename of the uploaded CSV file.

totalItemsinteger

Total number of data rows to import (excluding header row).
May be null if the job hasn't started processing yet.

Total number of data rows to import (excluding header row).
May be null if the job hasn't started processing yet.

processedItemsinteger

Number of rows that have been processed so far.
Compare with totalItems to calculate progress percentage.

Number of rows that have been processed so far.
Compare with totalItems to calculate progress percentage.

createdCountinteger

Number of new client records created during import.
Only incremented when importMode is CreateOnly or CreateAndUpdate.

Number of new client records created during import.
Only incremented when importMode is CreateOnly or CreateAndUpdate.

updatedCountinteger

Number of existing client records updated during import.
Only incremented when a match is found and importMode is UpdateOnly or CreateAndUpdate.

Number of existing client records updated during import.
Only incremented when a match is found and importMode is UpdateOnly or CreateAndUpdate.

skippedCountinteger

Number of rows skipped during import.
Reasons for skipping:

  • importMode is CreateOnly and a matching client already exists
  • importMode is UpdateOnly and no matching client was found
  • Row is missing required fields (e.g., Name)

Number of rows skipped during import.
Reasons for skipping:

  • importMode is CreateOnly and a matching client already exists
  • importMode is UpdateOnly and no matching client was found
  • Row is missing required fields (e.g., Name)
errorCountinteger

Number of rows that failed with errors during import.
Errors may include validation failures or database errors.
The import continues processing remaining rows after an error.

Number of rows that failed with errors during import.
Errors may include validation failures or database errors.
The import continues processing remaining rows after an error.

startedDatestring

When the job started processing (UTC).
Null if the job hasn't started yet (status is Queued).

When the job started processing (UTC).
Null if the job hasn't started yet (status is Queued).

completedDatestring

When the job completed processing (UTC).
Null if the job hasn't completed yet (status is Queued or Processing).
Set for both successful completion and failure.

When the job completed processing (UTC).
Null if the job hasn't completed yet (status is Queued or Processing).
Set for both successful completion and failure.

createdDatestring

When the import job was created (UTC).
This is when the CSV file was uploaded.

When the import job was created (UTC).
This is when the CSV file was uploaded.

notImportedDownloadUrlstring

URL to download a CSV containing rows that were not imported (errors and skips).
Only available when status is Completed and there were errors or skipped rows.
The CSV has the same columns as the source file plus Row and Reason columns,
so it can be re-imported directly after fixing issues.
This is a time-limited SAS URL that expires after 60 minutes.

URL to download a CSV containing rows that were not imported (errors and skips).
Only available when status is Completed and there were errors or skipped rows.
The CSV has the same columns as the source file plus Row and Reason columns,
so it can be re-imported directly after fixing issues.
This is a time-limited SAS URL that expires after 60 minutes.

JSON Example

{
  "code": "string",
  "status": "Queued",
  "fileName": "string",
  "totalItems": 150,
  "processedItems": 75
}

Used By Operations