TaskImportRowDto
A single task parsed from an uploaded task CSV, ready for user review.
Returned by the analyze endpoint; the RowId is the key used in the import selections.
Properties
| Name | Type | Description |
|---|---|---|
| rowId | string | Stable key for this row within the file: the native Code, or a synthetic "row-{n}" |
Stable key for this row within the file: the native Code, or a synthetic "row-{n}" | ||
| action | string | What importing this row will do: "Create", "Update" (row whose Code matches |
What importing this row will do: "Create", "Update" (row whose Code matches | ||
| name | string | The task name |
The task name | ||
| description | string | The task description |
The task description | ||
| status | enum | NotStarted InProgress Blocked Completed Skipped |
NotStarted InProgress Blocked Completed Skipped | ||
| startDate | string | The start date: the file's value, or min(today, due date) when the file has none. |
The start date: the file's value, or min(today, due date) when the file has none. | ||
| dueDate | string | The due date; null when missing from the file (the row is skipped unless overridden) |
The due date; null when missing from the file (the row is skipped unless overridden) | ||
| startTime | string | The start time: the file's value, or 09:00 when the file has none |
The start time: the file's value, or 09:00 when the file has none | ||
| dueTime | string | The due time: the file's value, or 09:00 when the file has none |
The due time: the file's value, or 09:00 when the file has none | ||
| clientName | string | The client name from the file; null when the row has no client |
The client name from the file; null when the row has no client | ||
| clientMatched | boolean | Whether the client name resolved to an existing client (exact case-insensitive match, |
Whether the client name resolved to an existing client (exact case-insensitive match, | ||
| assignedUserName | string | The assigned user name from the file; null when unassigned |
The assigned user name from the file; null when unassigned | ||
| assignedUserMatched | boolean | Whether the assigned user name resolved to a tenant user. True for unassigned rows. |
Whether the assigned user name resolved to a tenant user. True for unassigned rows. | ||
| assignedUserCode | string | The code of the matched assigned user; null when unmatched or unassigned |
The code of the matched assigned user; null when unmatched or unassigned | ||
| hasNotes | boolean | Whether the row carries notes text that will become a task note on import |
Whether the row carries notes text that will become a task note on import | ||
| isDuplicate | boolean | Whether a create row matches an existing task on name, primary client and due date — |
Whether a create row matches an existing task on name, primary client and due date — | ||
| defaultSelected | boolean | Whether the row should be pre-ticked in the review grid |
Whether the row should be pre-ticked in the review grid | ||
| skipReason | string | Why the row cannot be imported (e.g. "Missing task name", "Invalid Due Date"); null for usable rows |
Why the row cannot be imported (e.g. "Missing task name", "Invalid Due Date"); null for usable rows | ||
JSON Example
{
"rowId": "string",
"action": "string",
"name": "string",
"description": "string",
"status": "NotStarted"
}