# V1 # 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` # Lists ## List lists `client.v1.lists.list(ListListParamsquery?, RequestOptionsoptions?): ListListResponse` **get** `/api/v1/lists` List lists ### Parameters - `query: ListListParams` - `cursor?: string` Opaque cursor from the previous response `nextCursor`. - `includeDeleted?: boolean` - `limit?: number` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Returns - `ListListResponse` - `data: Array` - `listId: string` - `sortOrder: number` - `color?: string | null` - `emoji?: string | null` - `icon?: string | null` - `isDefault?: boolean` - `keyboardShortcut?: string | null` - `name?: string | null` - `spaceVersion: number` Current Replicache space version (`Space.version`). - `nextCursor?: string | null` ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); const lists = await client.v1.lists.list(); console.log(lists.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, "listId": "listId", "sortOrder": 0, "color": "color", "emoji": "emoji", "icon": "icon", "isDefault": true, "keyboardShortcut": "keyboardShortcut", "name": "name" } ], "spaceVersion": 0, "nextCursor": "nextCursor" } ``` ## Create list `client.v1.lists.create(ListCreateParamsparams, RequestOptionsoptions?): void` **post** `/api/v1/lists` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `params: ListCreateParams` - `body_spaceId?: string` Body param - `listId?: string` Body param - `name?: string` Body param ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.lists.create(); ``` ## Get list `client.v1.lists.retrieve(stringlistID, ListRetrieveParamsquery?, RequestOptionsoptions?): void` **get** `/api/v1/lists/{listId}` Get list ### Parameters - `listID: string` - `query: ListRetrieveParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.lists.retrieve('listId'); ``` ## Update list `client.v1.lists.update(stringlistID, ListUpdateParamsparams?, RequestOptionsoptions?): void` **patch** `/api/v1/lists/{listId}` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `listID: string` - `params: ListUpdateParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.lists.update('listId'); ``` ## Delete list (soft) `client.v1.lists.delete(stringlistID, ListDeleteParamsparams?, RequestOptionsoptions?): void` **delete** `/api/v1/lists/{listId}` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `listID: string` - `params: ListDeleteParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.lists.delete('listId'); ``` # Schedules ## List schedules `client.v1.schedules.list(ScheduleListParamsquery?, RequestOptionsoptions?): void` **get** `/api/v1/schedules` List schedules ### Parameters - `query: ScheduleListParams` - `cursor?: string` Opaque cursor from the previous response `nextCursor`. - `includeDeleted?: boolean` - `limit?: number` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.schedules.list(); ``` ## Create schedule `client.v1.schedules.create(ScheduleCreateParamsparams?, RequestOptionsoptions?): void` **post** `/api/v1/schedules` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `params: ScheduleCreateParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.schedules.create(); ``` ## Get schedule `client.v1.schedules.retrieve(stringscheduleID, ScheduleRetrieveParamsquery?, RequestOptionsoptions?): void` **get** `/api/v1/schedules/{scheduleId}` Get schedule ### Parameters - `scheduleID: string` - `query: ScheduleRetrieveParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.schedules.retrieve('scheduleId'); ``` ## Update schedule `client.v1.schedules.update(stringscheduleID, ScheduleUpdateParamsparams?, RequestOptionsoptions?): void` **patch** `/api/v1/schedules/{scheduleId}` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `scheduleID: string` - `params: ScheduleUpdateParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.schedules.update('scheduleId'); ``` ## Delete schedule (soft) `client.v1.schedules.delete(stringscheduleID, ScheduleDeleteParamsparams?, RequestOptionsoptions?): void` **delete** `/api/v1/schedules/{scheduleId}` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `scheduleID: string` - `params: ScheduleDeleteParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.schedules.delete('scheduleId'); ``` # Categories ## List categories `client.v1.categories.list(CategoryListParamsquery?, RequestOptionsoptions?): void` **get** `/api/v1/categories` List categories ### Parameters - `query: CategoryListParams` - `cursor?: string` Opaque cursor from the previous response `nextCursor`. - `includeDeleted?: boolean` - `limit?: number` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.categories.list(); ``` ## Create category `client.v1.categories.create(CategoryCreateParamsparams?, RequestOptionsoptions?): void` **post** `/api/v1/categories` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `params: CategoryCreateParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.categories.create(); ``` ## Get category `client.v1.categories.retrieve(stringcategoryID, CategoryRetrieveParamsquery?, RequestOptionsoptions?): void` **get** `/api/v1/categories/{categoryId}` Get category ### Parameters - `categoryID: string` - `query: CategoryRetrieveParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.categories.retrieve('categoryId'); ``` ## Update category `client.v1.categories.update(stringcategoryID, CategoryUpdateParamsparams?, RequestOptionsoptions?): void` **patch** `/api/v1/categories/{categoryId}` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `categoryID: string` - `params: CategoryUpdateParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.categories.update('categoryId'); ``` ## Delete category (soft) `client.v1.categories.delete(stringcategoryID, CategoryDeleteParamsparams?, RequestOptionsoptions?): void` **delete** `/api/v1/categories/{categoryId}` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `categoryID: string` - `params: CategoryDeleteParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.categories.delete('categoryId'); ``` # Contexts ## List contexts `client.v1.contexts.list(ContextListParamsquery?, RequestOptionsoptions?): void` **get** `/api/v1/contexts` List contexts ### Parameters - `query: ContextListParams` - `cursor?: string` Opaque cursor from the previous response `nextCursor`. - `includeDeleted?: boolean` - `limit?: number` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.contexts.list(); ``` ## Create context `client.v1.contexts.create(ContextCreateParamsparams?, RequestOptionsoptions?): void` **post** `/api/v1/contexts` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `params: ContextCreateParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.contexts.create(); ``` ## Get context `client.v1.contexts.retrieve(stringcontextID, ContextRetrieveParamsquery?, RequestOptionsoptions?): void` **get** `/api/v1/contexts/{contextId}` Get context ### Parameters - `contextID: string` - `query: ContextRetrieveParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.contexts.retrieve('contextId'); ``` ## Update context `client.v1.contexts.update(stringcontextID, ContextUpdateParamsparams?, RequestOptionsoptions?): void` **patch** `/api/v1/contexts/{contextId}` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `contextID: string` - `params: ContextUpdateParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.contexts.update('contextId'); ``` ## Delete context (soft) `client.v1.contexts.delete(stringcontextID, ContextDeleteParamsparams?, RequestOptionsoptions?): void` **delete** `/api/v1/contexts/{contextId}` Increments the Replicache space version via repVersionIncrement after writing. ### Parameters - `contextID: string` - `params: ContextDeleteParams` - `spaceId?: string` Optional space id; when omitted, the user’s default space is used. ### Example ```typescript import Fluidwave from 'fluidwave'; const client = new Fluidwave(); await client.v1.contexts.delete('contextId'); ```