# Tasks ## List tasks `client.v1.tasks.list(TaskListParamsquery?, RequestOptionsoptions?): TaskListResponse` **get** `/api/v1/tasks` Returns tasks for the resolved space; includes `spaceVersion` from `repVersionGet` semantics. ### Parameters - `query: TaskListParams` - `contextId?: string` - `cursor?: string` Opaque cursor from the previous response `nextCursor`. - `includeDeleted?: boolean` - `limit?: number` - `listId?: string` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. - `status?: string` ### Returns - `TaskListResponse` - `data: Array` - `sortOrder: number` - `todoId: string` - `complexity?: string | null` - `contextId?: string | null` - `dateDue?: string | null` - `dateStart?: string | null` - `durationEstimate?: number | null` - `durationMs?: number | null` - `goalId?: string | null` - `isImportant?: boolean` - `isTimeSensitive?: boolean` - `listId?: string | null` - `name?: string | null` - `notesMarkdown?: string | null` - `status?: string | null` - `TodoPredecessorsAllAny?: "ALL" | "ANY"` - `"ALL"` - `"ANY"` - `TodoPredecessorsView?: boolean` - `spaceVersion: number` Current Replicache space version (`Space.version`). - `nextCursor?: string | null` ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); const tasks = await client.v1.tasks.list(); console.log(tasks.data); ``` #### Response ```json { "data": [ { "id": "id", "createdAt": "2019-12-27T18:11:19.117Z", "deletedAt": "2019-12-27T18:11:19.117Z", "isDeleted": true, "spaceId": "spaceId", "updatedAt": "2019-12-27T18:11:19.117Z", "versionUpdatedAt": 0, "sortOrder": 0, "todoId": "todoId", "complexity": "complexity", "contextId": "contextId", "dateDue": "2019-12-27T18:11:19.117Z", "dateStart": "2019-12-27T18:11:19.117Z", "durationEstimate": 0, "durationMs": 0, "goalId": "goalId", "isImportant": true, "isTimeSensitive": true, "listId": "listId", "name": "name", "notesMarkdown": "notesMarkdown", "status": "status", "TodoPredecessorsAllAny": "ALL", "TodoPredecessorsView": true } ], "spaceVersion": 0, "nextCursor": "nextCursor" } ``` ## Create task `client.v1.tasks.create(TaskCreateParamsparams, RequestOptionsoptions?): SingleResponseTodo` **post** `/api/v1/tasks` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `params: TaskCreateParams` - `body_spaceId?: string` Body param - `categoryIds?: Array` Body param - `contextId?: string` Body param - `goalId?: string` Body param - `listId?: string` Body param - `name?: string` Body param - `scheduleIds?: Array` Body param - `tagIds?: Array` Body param - `todoId?: string` Body param ### Returns - `SingleResponseTodo` - `data: Todo` - `sortOrder: number` - `todoId: string` - `complexity?: string | null` - `contextId?: string | null` - `dateDue?: string | null` - `dateStart?: string | null` - `durationEstimate?: number | null` - `durationMs?: number | null` - `goalId?: string | null` - `isImportant?: boolean` - `isTimeSensitive?: boolean` - `listId?: string | null` - `name?: string | null` - `notesMarkdown?: string | null` - `status?: string | null` - `TodoPredecessorsAllAny?: "ALL" | "ANY"` - `"ALL"` - `"ANY"` - `TodoPredecessorsView?: boolean` - `spaceVersion: number` Current Replicache space version (`Space.version`). ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); const singleResponseTodo = await client.v1.tasks.create(); console.log(singleResponseTodo.data); ``` #### Response ```json { "data": { "id": "id", "createdAt": "2019-12-27T18:11:19.117Z", "deletedAt": "2019-12-27T18:11:19.117Z", "isDeleted": true, "spaceId": "spaceId", "updatedAt": "2019-12-27T18:11:19.117Z", "versionUpdatedAt": 0, "sortOrder": 0, "todoId": "todoId", "complexity": "complexity", "contextId": "contextId", "dateDue": "2019-12-27T18:11:19.117Z", "dateStart": "2019-12-27T18:11:19.117Z", "durationEstimate": 0, "durationMs": 0, "goalId": "goalId", "isImportant": true, "isTimeSensitive": true, "listId": "listId", "name": "name", "notesMarkdown": "notesMarkdown", "status": "status", "TodoPredecessorsAllAny": "ALL", "TodoPredecessorsView": true }, "spaceVersion": 0 } ``` ## Get task `client.v1.tasks.retrieve(stringtodoID, TaskRetrieveParamsquery?, RequestOptionsoptions?): SingleResponseTodo` **get** `/api/v1/tasks/{todoId}` Get task ### Parameters - `todoID: string` - `query: TaskRetrieveParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Returns - `SingleResponseTodo` - `data: Todo` - `sortOrder: number` - `todoId: string` - `complexity?: string | null` - `contextId?: string | null` - `dateDue?: string | null` - `dateStart?: string | null` - `durationEstimate?: number | null` - `durationMs?: number | null` - `goalId?: string | null` - `isImportant?: boolean` - `isTimeSensitive?: boolean` - `listId?: string | null` - `name?: string | null` - `notesMarkdown?: string | null` - `status?: string | null` - `TodoPredecessorsAllAny?: "ALL" | "ANY"` - `"ALL"` - `"ANY"` - `TodoPredecessorsView?: boolean` - `spaceVersion: number` Current Replicache space version (`Space.version`). ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); const singleResponseTodo = await client.v1.tasks.retrieve('todoId'); console.log(singleResponseTodo.data); ``` #### Response ```json { "data": { "id": "id", "createdAt": "2019-12-27T18:11:19.117Z", "deletedAt": "2019-12-27T18:11:19.117Z", "isDeleted": true, "spaceId": "spaceId", "updatedAt": "2019-12-27T18:11:19.117Z", "versionUpdatedAt": 0, "sortOrder": 0, "todoId": "todoId", "complexity": "complexity", "contextId": "contextId", "dateDue": "2019-12-27T18:11:19.117Z", "dateStart": "2019-12-27T18:11:19.117Z", "durationEstimate": 0, "durationMs": 0, "goalId": "goalId", "isImportant": true, "isTimeSensitive": true, "listId": "listId", "name": "name", "notesMarkdown": "notesMarkdown", "status": "status", "TodoPredecessorsAllAny": "ALL", "TodoPredecessorsView": true }, "spaceVersion": 0 } ``` ## Update task `client.v1.tasks.update(stringtodoID, TaskUpdateParamsparams, RequestOptionsoptions?): SingleResponseTodo` **patch** `/api/v1/tasks/{todoId}` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `todoID: string` - `params: TaskUpdateParams` - `body_spaceId?: string` Body param ### Returns - `SingleResponseTodo` - `data: Todo` - `sortOrder: number` - `todoId: string` - `complexity?: string | null` - `contextId?: string | null` - `dateDue?: string | null` - `dateStart?: string | null` - `durationEstimate?: number | null` - `durationMs?: number | null` - `goalId?: string | null` - `isImportant?: boolean` - `isTimeSensitive?: boolean` - `listId?: string | null` - `name?: string | null` - `notesMarkdown?: string | null` - `status?: string | null` - `TodoPredecessorsAllAny?: "ALL" | "ANY"` - `"ALL"` - `"ANY"` - `TodoPredecessorsView?: boolean` - `spaceVersion: number` Current Replicache space version (`Space.version`). ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); const singleResponseTodo = await client.v1.tasks.update('todoId'); console.log(singleResponseTodo.data); ``` #### Response ```json { "data": { "id": "id", "createdAt": "2019-12-27T18:11:19.117Z", "deletedAt": "2019-12-27T18:11:19.117Z", "isDeleted": true, "spaceId": "spaceId", "updatedAt": "2019-12-27T18:11:19.117Z", "versionUpdatedAt": 0, "sortOrder": 0, "todoId": "todoId", "complexity": "complexity", "contextId": "contextId", "dateDue": "2019-12-27T18:11:19.117Z", "dateStart": "2019-12-27T18:11:19.117Z", "durationEstimate": 0, "durationMs": 0, "goalId": "goalId", "isImportant": true, "isTimeSensitive": true, "listId": "listId", "name": "name", "notesMarkdown": "notesMarkdown", "status": "status", "TodoPredecessorsAllAny": "ALL", "TodoPredecessorsView": true }, "spaceVersion": 0 } ``` ## Delete task (soft) `client.v1.tasks.delete(stringtodoID, TaskDeleteParamsparams?, RequestOptionsoptions?): SingleResponseTodo` **delete** `/api/v1/tasks/{todoId}` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `todoID: string` - `params: TaskDeleteParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Returns - `SingleResponseTodo` - `data: Todo` - `sortOrder: number` - `todoId: string` - `complexity?: string | null` - `contextId?: string | null` - `dateDue?: string | null` - `dateStart?: string | null` - `durationEstimate?: number | null` - `durationMs?: number | null` - `goalId?: string | null` - `isImportant?: boolean` - `isTimeSensitive?: boolean` - `listId?: string | null` - `name?: string | null` - `notesMarkdown?: string | null` - `status?: string | null` - `TodoPredecessorsAllAny?: "ALL" | "ANY"` - `"ALL"` - `"ANY"` - `TodoPredecessorsView?: boolean` - `spaceVersion: number` Current Replicache space version (`Space.version`). ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); const singleResponseTodo = await client.v1.tasks.delete('todoId'); console.log(singleResponseTodo.data); ``` #### Response ```json { "data": { "id": "id", "createdAt": "2019-12-27T18:11:19.117Z", "deletedAt": "2019-12-27T18:11:19.117Z", "isDeleted": true, "spaceId": "spaceId", "updatedAt": "2019-12-27T18:11:19.117Z", "versionUpdatedAt": 0, "sortOrder": 0, "todoId": "todoId", "complexity": "complexity", "contextId": "contextId", "dateDue": "2019-12-27T18:11:19.117Z", "dateStart": "2019-12-27T18:11:19.117Z", "durationEstimate": 0, "durationMs": 0, "goalId": "goalId", "isImportant": true, "isTimeSensitive": true, "listId": "listId", "name": "name", "notesMarkdown": "notesMarkdown", "status": "status", "TodoPredecessorsAllAny": "ALL", "TodoPredecessorsView": true }, "spaceVersion": 0 } ``` ## Domain Types ### Base Entity - `BaseEntity` - `id: string` - `createdAt: string` - `deletedAt: string | null` - `isDeleted: boolean` - `spaceId: string` - `updatedAt: string` - `versionUpdatedAt: number` ### Single Response Todo - `SingleResponseTodo` - `data: Todo` - `sortOrder: number` - `todoId: string` - `complexity?: string | null` - `contextId?: string | null` - `dateDue?: string | null` - `dateStart?: string | null` - `durationEstimate?: number | null` - `durationMs?: number | null` - `goalId?: string | null` - `isImportant?: boolean` - `isTimeSensitive?: boolean` - `listId?: string | null` - `name?: string | null` - `notesMarkdown?: string | null` - `status?: string | null` - `TodoPredecessorsAllAny?: "ALL" | "ANY"` - `"ALL"` - `"ANY"` - `TodoPredecessorsView?: boolean` - `spaceVersion: number` Current Replicache space version (`Space.version`). ### Todo - `Todo extends BaseEntity` - `sortOrder: number` - `todoId: string` - `complexity?: string | null` - `contextId?: string | null` - `dateDue?: string | null` - `dateStart?: string | null` - `durationEstimate?: number | null` - `durationMs?: number | null` - `goalId?: string | null` - `isImportant?: boolean` - `isTimeSensitive?: boolean` - `listId?: string | null` - `name?: string | null` - `notesMarkdown?: string | null` - `status?: string | null` - `TodoPredecessorsAllAny?: "ALL" | "ANY"` - `"ALL"` - `"ANY"` - `TodoPredecessorsView?: boolean`