Projects and tasks
The task module reaches the API: projects with their board, tasks, labels, timers, users, notifications and the agenda — 80 new endpoints, 21 events, 80 MCP tools and four automation actions.
Factuarea now manages work as well as invoices, and the whole task module is on the v1 contract: projects with a board of columns, tasks linked to your invoices, quotes and contacts, time logged and billed, an agenda and the events to follow it all. It is 80 new endpoints under seven resources, included in every plan. Start with the Projects and tasks guide.
- Seven resources —
/v1/projects(22 endpoints: projects, board columns, custom fields, the JSON export and import of tasks, the time summary and the invoice of billable hours),/v1/tasksand its subresources (45: search, board position, comments, relations, labels, links, attachments, upload links, time entries, the timer and the activity log),/v1/task-labels(5),/v1/task-timers(2),/v1/users(2),/v1/notifications(3) and/v1/agenda(1). Every endpoint is listed below. - Nine new scopes —
projects:read|write|delete,tasks:read|write|delete,users:readandnotifications:read|write.projects:*andtasks:*belong to thetasksmodule: a key with those scopes for a company without it is rejected withscope_not_allowed_by_plan.users:readandnotifications:*are cross-cutting. Theprojects:deleteandtasks:deletescopes are API-key-only: an OAuth consent never grants them. Nine operations are irreversible and require anIdempotency-Key; see Scopes & irreversibility. - Deleting a column that has tasks —
DELETE /v1/projects/{project}/columns/{column}takes amove_to_column_idquery parameter: the column of the same project that receives the tasks, in their order, in the same transaction. Without it, a column with tasks returns 409column_has_tasks. - A task born already linked —
POST /v1/tasksaccepts anentity_linkwith thetypeand theidof an invoice, quote, contact or any other linkable entity, and links it in the same transaction. If the entity does not exist or belongs to another company, the call returns 404linked_entity_not_foundand the task is not created. tasks_counton task labels — every label of the catalog reports how many tasks carry it, archived ones included.- Task keys —
DEV-12resolves throughPOST /v1/tasks/find-by-key, and a key keeps working after the task moves to another project or its project changes key. - Logged time is not the working-day register — a
task_time_entryis time spent on a task, with its owntasks:*scopes andtask_time_entry.*events. It never appears in the Time tracking register (/v1/time-entries). See Time logged on tasks. - 21 new events —
task.*(created, updated, deleted, status_changed, completed, assigned, unassigned, moved, due_soon and overdue),task_comment.*,task_time_entry.*andproject.*. Completing a task emits bothtask.status_changedandtask.completed, and the latter is a subset of the former. See Events. - 80 new MCP tools — 22 for projects, 52 for tasks, 2 for users, 3 for notifications and 1 for the agenda, in step with the API. The catalog now has 552 tools; the delete tools are API-key-only. See the tool catalog.
- CLI —
factuarea projects,tasks,task-labels,task-timers,users,notificationsandagenda, with their scopes and confirmations. See the CLI guide. - Automations — the 21 events are new triggers, and four new actions create
and change tasks:
create_task,change_task_status,assign_taskandadd_task_comment. In a portfolio (cartera) rule, onlycreate_taskis accepted among them. See Automations. - Error codes — 46 new codes under the
Tasksgroup, each with its cause and what to do, and 18 underTask Integrationsfor the flows that live in the app. See Tasks error codes. - Availability — the
tasksmodule is included in every plan. The task integrations with code forges and chat tools, the iCal feeds and the public board exist only in the app; the integrations need the Empresario or Enterprise plan.
Validate the action types with an open list. The type enum of an
automation action grows from eight to twelve values: create_task,
change_task_status, assign_task and add_task_comment are new. A client
that validates actions[].type against a closed list must add them.
create_calendar_event stays in the vocabulary so that older rule versions
still parse, but it is retired: the calendar it fed no longer exists, no
adapter runs it and its step produces no effect. Use create_task instead.