API Docs / Schemas / TaskImportRowDto

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
rowIdstring

Stable key for this row within the file: the native Code, or a synthetic "row-{n}"
for rows without a code

Stable key for this row within the file: the native Code, or a synthetic "row-{n}"
for rows without a code

actionstring

What importing this row will do: "Create", "Update" (row whose Code matches
an existing task) or "Skip" (unusable row — see SkipReason)

What importing this row will do: "Create", "Update" (row whose Code matches
an existing task) or "Skip" (unusable row — see SkipReason)

namestring

The task name

The task name

descriptionstring

The task description

The task description

statusenum

NotStarted InProgress Blocked Completed Skipped

NotStarted InProgress Blocked Completed Skipped

startDatestring

The start date: the file's value, or min(today, due date) when the file has none.
Null only for skipped rows without a usable due date.

The start date: the file's value, or min(today, due date) when the file has none.
Null only for skipped rows without a usable due date.

dueDatestring

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)

startTimestring

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

dueTimestring

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

clientNamestring

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

clientMatchedboolean

Whether the client name resolved to an existing client (exact case-insensitive match,
with a "Surname, Forename" flip retry). True for rows without a client name.

Whether the client name resolved to an existing client (exact case-insensitive match,
with a "Surname, Forename" flip retry). True for rows without a client name.

assignedUserNamestring

The assigned user name from the file; null when unassigned

The assigned user name from the file; null when unassigned

assignedUserMatchedboolean

Whether the assigned user name resolved to a tenant user. True for unassigned rows.
An unresolved name imports as unassigned (unless overridden in the selection).

Whether the assigned user name resolved to a tenant user. True for unassigned rows.
An unresolved name imports as unassigned (unless overridden in the selection).

assignedUserCodestring

The code of the matched assigned user; null when unmatched or unassigned

The code of the matched assigned user; null when unmatched or unassigned

hasNotesboolean

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

isDuplicateboolean

Whether a create row matches an existing task on name, primary client and due date —
importing it would produce a near-duplicate

Whether a create row matches an existing task on name, primary client and due date —
importing it would produce a near-duplicate

defaultSelectedboolean

Whether the row should be pre-ticked in the review grid

Whether the row should be pre-ticked in the review grid

skipReasonstring

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"
}