| code | string | 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}.
|
| status | enum | Queued InProgress Completed Failed Cancelled Draft
|
Queued InProgress Completed Failed Cancelled Draft
|
| fileName | string | Original filename of the uploaded CSV file.
|
Original filename of the uploaded CSV file.
|
| totalItems | integer | 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.
|
| processedItems | integer | 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.
|
| createdCount | integer | 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.
|
| updatedCount | integer | 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.
|
| skippedCount | integer | 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)
|
| errorCount | integer | 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.
|
| warningCount | integer | Number of rows that imported but had one or more custom field values skipped (partial imports). These rows are included in the non-imported report, distinguished by their reason.
|
Number of rows that imported but had one or more custom field values skipped (partial imports). These rows are included in the non-imported report, distinguished by their reason.
|
| startedDate | string | 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).
|
| completedDate | string | 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.
|
| createdDate | string | 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.
|
| notImportedDownloadUrl | string | 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.
|