Projects
Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.
Projectproject
A multi-step outcome with milestones and progress. The same operations reach the work items on its board (type 'task').
projects_findFindthrough vritto_findRead Projects: one project by id (with its task rows), projects filtered by text, status, priority, tag or area, or with type 'task' project tasks by projectId, text, status, priority, tag or dueOnOrBefore. ALWAYS pass dueOnOrBefore when the question concerns near-term work. Compact rows unless detail is 'full'.
Note: type 'task' reads project tasks; one project by id comes with its task rows.
| Field | Type | Description |
|---|---|---|
| type | one of project, task | 'project' (default) or 'task', a work item on a project's board. |
| id | string | Return just this project (with its task rows) or, with type 'task', this project task. |
| query | string | Search query. |
| status | one of planned, active, paused, completed, cancelled, todo, in_progress, blocked, done | A project status, or with type 'task' a task status (todo, in_progress, blocked, done, cancelled). |
| priority | one of low, normal, high, urgent | |
| tag | string | Exact tag filter. |
| area | string | Area filter (projects). |
| projectId | string | Project tasks of this project; sent alone, this project with its task rows. |
| dueOnOrBefore | string | Only open project tasks due on or before this date (YYYY-MM-DD), for near-term views like 'project work due this week'. |
| detail | one of summary, full | Row shape: "summary" (default, compact rows) or "full" (every field incl. summary/outcome text, milestones and complete notes). |
| includeArchived | boolean | Include archived (deleted) records; default false. |
| limit | integer | Max records to return (default 50 in summary mode). |
Example input
{
"status": "active"
}projects_addCreatethrough vritto_createAdd a project for a serious multi-step outcome (never for a one-off task): name, summary, outcome (definition of done), status, priority, area, startDate/targetDate (YYYY-MM-DD), tags and milestones. Or a work item on a project's board: task with projectId and title, plus status, priority, dueDate, effortPoints, assignees and tags. Example: project { name 'Launch Vritto beta', status 'active', targetDate '2026-08-01', tags ['work'] }.
Note: type 'task' with task { projectId, title } adds a work item to a project's board.
| Field | Type | Description |
|---|---|---|
| type | one of project, task | 'project' (default) or 'task', a work item on a project's board. |
| project | object | Project fields; name is required. |
| project.name* | string | Project name. |
| project.summary | string | Short description. |
| project.outcome | string | Definition of done or desired outcome. |
| project.status | one of planned, active, paused, completed, cancelled | Project status (default 'active'). |
| project.priority | one of low, normal, high, urgent | |
| project.area | string | Area or domain. |
| project.startDate | string | Local date YYYY-MM-DD. |
| project.targetDate | string | Local date YYYY-MM-DD. |
| project.tags | list of string | Tags. |
| project.ownerPersonIds | list of string | Owner person IDs. |
| project.linkedRefs | list of object | Linked module records. |
| project.milestones | list of object | Project milestones. |
| project.progress | integer | Progress percent; task-weighted automatically when project tasks exist. |
| project.favorite | boolean | Favorite project. |
| project.idempotencyKey | string | Stable dedupe key. |
| task | object | Project task fields (type 'task'); projectId and title are required. |
| task.projectId* | string | Owning project ID. |
| task.title* | string | Task title. |
| task.notes | string | Supporting notes. |
| task.status | one of todo, in_progress, blocked, done, cancelled | |
| task.priority | one of low, normal, high, urgent | |
| task.dueDate | string | Local date YYYY-MM-DD. |
| task.effortPoints | integer | Relative effort estimate used for workload and weighted progress. |
| task.assigneePersonIds | list of string | Assignee person IDs. |
| task.tags | list of string | Tags. |
| task.sortOrder | number | Board sort order. |
| task.linkedTaskId | string | Linked Tasks-module task ID. |
| task.idempotencyKey | string | Stable dedupe key. |
Example input
{
"project": {
"name": "Kitchen remodel",
"outcome": "A kitchen we cook in every night",
"status": "active",
"targetDate": "2027-03-01"
}
}projects_changeUpdatethrough vritto_updateChange one project by id, or with type 'task' one project task: only the fields in patch change (status 'done' finishes a task; progress is task-weighted on its own). publishToTasks copies and links a project task into the general Tasks list, only when the user explicitly asks. Resolve the id with projects_find first.
Note: type 'task' changes a project task; publishToTasks copies and links it into Tasks.
| Field | Type | Description |
|---|---|---|
| type | one of project, task | 'project' (default) or 'task', a work item on a project's board. |
| id | string | The project (or project task) to change. Required. |
| patch | object | Fields to change; nothing else is touched. |
| patch.name | string | Project name. |
| patch.summary | string | Short description. |
| patch.outcome | string | Definition of done or desired outcome. |
| patch.status | one of planned, active, paused, completed, cancelled, todo, in_progress, blocked, done | A project's status (planned, active, paused, completed, cancelled) or a project task's (todo, in_progress, blocked, done, cancelled). |
| patch.priority | one of low, normal, high, urgent | |
| patch.area | string | Area or domain. |
| patch.startDate | string | Local date YYYY-MM-DD. |
| patch.targetDate | string | Local date YYYY-MM-DD. |
| patch.tags | list of string | Tags. |
| patch.ownerPersonIds | list of string | Owner person IDs. |
| patch.linkedRefs | list of object | Linked module records. |
| patch.milestones | list of object | Project milestones. |
| patch.progress | integer | Progress percent; task-weighted automatically when project tasks exist. |
| patch.favorite | boolean | Favorite project. |
| patch.idempotencyKey | string | Stable dedupe key. |
| patch.projectId | string | Owning project ID. |
| patch.title | string | Task title. |
| patch.notes | string | Supporting notes. |
| patch.dueDate | string | Local date YYYY-MM-DD. |
| patch.effortPoints | integer | Relative effort estimate used for workload and weighted progress. |
| patch.assigneePersonIds | list of string | Assignee person IDs. |
| patch.sortOrder | number | Board sort order. |
| patch.linkedTaskId | string | Linked Tasks-module task ID. |
| publishToTasks | boolean | true copies and links this project task into the Tasks module (type 'task'), only on an explicit ask. |
| expectedRevision | integer | Revision guard from the last read. |
| projectId | string | Older name for a project's id. |
| projectTaskId | string | Older name for a project task's id. |
| status | one of todo, in_progress, blocked, done, cancelled | Older form: a project task's new status, with projectTaskId. |
| sortOrder | number | Older form, with status: the board sort order. |
| project | object | Older whole-project form: the project with its id; absent fields keep their stored values. |
| project.id* | string |
Example input
{
"id": "proj_kitchen",
"patch": {
"targetDate": "2027-04-01",
"status": "paused"
}
}projects_removeDeletethrough vritto_deleteDelete a project (cancelled and archived with its board), or with type 'task' cancel one project task. Only for explicit deletion requests. Resolve the id with projects_find first.
Note: type 'task' cancels one project task; a project goes with its board.
| Field | Type | Description |
|---|---|---|
| type | one of project, task | 'project' (default) or 'task', a work item on a project's board. |
| id | string | The project (or project task) to remove. |
| expectedRevision | integer | Revision guard from the last read. |
| projectId | string | Older name for id. |