Menú

Referencia de la API · Tareas

Tareas

task_management · tasks · 12 operaciones

GET/v1/tasks

List tasks

task_management.tasks.list

LecturaIdempotenteDesde 2026-11-01

Lists the organization's top-level tasks, newest first (sort created_desc) or by due date (sort due_asc, only tasks with a due date), paginated by cursor (limit up to 200, default 25). Filters: status (open by default, done or all), query (words of the title, in any order), assignee_id, account_id, project_id, label_id, due_before/dueAfter (ms). Pass parent_task_id to list the subtasks of one task instead (all statuses by default, in creation order). With include_subtasks true the list also brings the subtasks that match the same filters, as rows of their own in the same order (each with parent_task_id and parent_title, null when the parent no longer exists), and every top-level task of the page carries subtask_count and open_subtask_count (subtasks not done yet). Filters apply to each row's own fields: an open subtask of a task already done is listed with status open, and a subtask created in the app may have no account_id or project_id of its own. Members of a workspace and viewers only get the tasks assigned to them, as in the app; private tasks only appear to their creator and assignee, and a subtask appears exactly when its parent does. Every row has the same fields (null, 0 or [] when empty), the assignee's and the creator's names (assignee_name, created_by_name) and no photos. With project_id or label_id the whole set of that project or label is read and sorted (up to 1000 tasks; past that, as below). Otherwise what the query cannot filter (subtasks and other people's private tasks, query, and the due date range when sorting by creation) runs on what is read, and the page is filled by reading on, up to 1000 tasks per call: only then a page can bring fewer than limit while has_more is true, so follow next_cursor. The tasks of an Account live in the workspace: call it on the workspace with account_id (with the Account's org_id it lists the tasks stored in that Account itself, usually none, and an empty first page says so in hint). Ceiling: 2216 reads per call (what is read to fill the page, plus with include_subtasks one read per parent of a subtask that did not come in the page and the subtask counts, plus one per person whose name the task does not store), never the whole collection.

Alcance
task_management:read
Permiso
Ver el módulo
Tool del MCP
task_management_tasks_listEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.list".

Costo declarado: hasta 2216 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).

Parámetros

limitintegerqueryopcional

Rows per page (1 to 200; default 25).

Por defecto: 25

cursorstringqueryopcional

The next_cursor of the previous page, to continue the list; omit it for the first page.

statusenumqueryopcional

open (default), done or all; with parent_task_id the default is all.

Valores: open, done, all

querystringqueryopcional

Words of the title, in any order (each one the start of a word; case, accents and signs do not matter).

assignee_idstringqueryopcional

Only the tasks assigned to this person: the uid of a member of the organization (members.members.list).

account_idstringqueryopcional

Only the tasks of this Account. An Account (client organization) of this workspace, from platform.orgs.list or child_orgs.accounts.list_with_sources.

project_idstringqueryopcional

Only the tasks of this project. A project of this organization, from projects.projects.list.

label_idstringqueryopcional

Only the tasks with this label (task_management.labels.list).

parent_task_idstringqueryopcional

List the subtasks of this task instead. The task's id (from task_management.tasks.list, or the task_id that tasks.create returns).

sortenumqueryopcional

created_desc (newest first, default) or due_asc (by due date; only tasks with one).

Valores: created_desc, due_asc · Por defecto: "created_desc"

due_beforeintegerqueryopcional

Only tasks due on or before this date, epoch ms.

due_afterintegerqueryopcional

Only tasks due on or after this date, epoch ms.

include_subtasksbooleanqueryopcional

Also list the subtasks that match, as rows of their own, and count the subtasks of each top-level task.

Por defecto: false

Respuesta

dataarray<object>
has_moreboolean
next_cursorstring
hintstring

Only on an empty first page called with the org_id of an Account whose tasks live in the workspace: the call that lists them.

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/tasks" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl "https://api.mb-suite.com/v1/tasks" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/tasks/count

Count the tasks completed or created in a period

task_management.tasks.count

LecturaIdempotenteDesde 2026-11-01

Counts the organization's top-level tasks completed (by: completed, the default) or created (by: created) between from and to (epoch ms, both inclusive). With by created, status open, done or all (default) filters by their current state. Filters: assignee_id and account_id. It counts the same tasks task_management.tasks.list shows without subtasks: members of a workspace and viewers only count the tasks assigned to them, and private tasks only count for their creator and assignee. Use it to compare periods (this month against the previous one: two calls). Subtasks are not counted. It reads the tasks of the period, up to 5000 of them counting subtasks and other people's private tasks (which it reads but does not count): with more, truncated is true and count is a minimum, so a truncated count can be well below 5000; narrow the period (or use assignee_id or account_id) to get the exact number.

Alcance
task_management:read
Permiso
Ver el módulo
Tool del MCP
task_management_tasks_countEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.count".

Costo declarado: hasta 5001 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).

Parámetros

fromintegerqueryrequerido

Start of the period, epoch ms (inclusive).

tointegerqueryrequerido

End of the period, epoch ms (inclusive).

byenumqueryopcional

completed (default): tasks completed in the period; created: tasks created in it.

Valores: completed, created · Por defecto: "completed"

statusenumqueryopcional

With by created: open, done or all (default). With by completed they are always the completed ones.

Valores: open, done, all · Por defecto: "all"

assignee_idstringqueryopcional

Only the tasks assigned to this person: the uid of a member of the organization (members.members.list).

account_idstringqueryopcional

Only the tasks of this Account of the workspace (platform.orgs.list).

Respuesta

countinteger
byenum

Valores: completed, created

fromnumber
tonumber
truncatedboolean

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/tasks/count?from=0&to=0" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl "https://api.mb-suite.com/v1/tasks/count?from=0&to=0" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/tasks/{task_id}

Get one task

task_management.tasks.get

LecturaIdempotenteDesde 2026-11-01

Returns a task with its status, priority, assignee, dates, recurrence, scope (account, private), project link, labels, attachments metadata and comment count. Subtasks are tasks too (parent_task_id). Not found if the id does not exist, the task is private to someone else, or the caller's role only sees their own tasks.

Alcance
task_management:read
Permiso
Ver el módulo
Tool del MCP
task_management_tasks_getEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.get".

Costo declarado: hasta 3 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).

Parámetros

task_idstringrutarequerido

The task's id (from task_management.tasks.list, or the task_id that tasks.create returns).

Respuesta

idstring
titlestring
descriptionstring | null

HTML or plain text; null when the task has none.

status_idstring

One of task_management.config.get statuses.

priority_idstring | null
is_doneboolean

true when the status is of the DONE category.

completed_atnumber | null
assignee_idstring | null
assignee_namestring | null
created_by_idstring | null
created_by_namestring | null

The name of the person who created the task (null for one created by the system).

reporter_idstring | null
watcher_idsarray<string>
alert_user_idsarray<string>
account_idstring | null

The Account of the workspace the task is about (null: the workspace itself).

is_privateboolean

Only its creator and its assignee see it.

due_datenumber | null
start_datenumber | null
recurrenceobject | null
series_idstring | null

The series a recurring task belongs to (every instance shares it).

parent_task_idstring | null

The parent task of a subtask (null for a top-level task).

project_idstring | null
item_idstring | null
tagsarray<string>
label_idsarray<string>
attachmentsarray<object>
comment_countnumber
ordernumber | null
created_atnumber
updated_atnumber

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/tasks/{task_id}" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl "https://api.mb-suite.com/v1/tasks/{task_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/tasks

Create a task

task_management.tasks.create

EscrituraDesde 2026-11-01

Creates a task in the organization: title, description (HTML or text), status and priority (ids from task_management.config.get; defaults: the first open status and medium), assignee (a member; without it the task is the caller's, null leaves it unassigned), due and start dates (ms), labels, people to alert by email when it is completed (alert_user_ids), watchers, tags, recurrence, an Account of the workspace (account_id) or private (only the creator and the assignee see it), and a project/item link. Pass parent_task_id to create a subtask: it inherits the parent's scope (the subtask of a private task is private too, and appears exactly when its parent does) and project. Returns the new task.

Alcance
task_management:write
Permiso
Editar en el módulo
Tool del MCP
task_management_tasks_createEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.create".
Eventos que puede emitir
task_management.task.created

Costo declarado: hasta 60 lecturas y 2 escrituras por llamada (cuentan en el cupo diario).

Parámetros

titlestringcuerporequerido

The task's title (up to 500 characters).

descriptionstringcuerpoopcional

HTML or plain text.

status_idstringcuerpoopcional

Its status; default: the organization's first open status (an id from task_management.config.get statuses).

priority_idstring | nullcuerpoopcional
assignee_idstring | nullcuerpoopcional
due_dateinteger | nullcuerpoopcional
start_dateinteger | nullcuerpoopcional
account_idstring | nullcuerpoopcional
is_privatebooleancuerpoopcional

Only its creator and its assignee see it.

label_idsarray<string>cuerpoopcional

Task label ids (from task_management.labels.list); ids that do not exist are ignored.

alert_user_idsarray<string>cuerpoopcional

People who get an email when the task is completed: uids of members of the organization (members.members.list).

watcher_idsarray<string>cuerpoopcional

People who follow the task: uids of members of the organization (members.members.list).

tagsarray<string>cuerpoopcional

Free-text tags (up to 50, 64 characters each).

project_idstring | nullcuerpoopcional
item_idstring | nullcuerpoopcional
parent_task_idstringcuerpoopcional

Creates a subtask of this top-level task (it inherits its scope and project). The task's id (from task_management.tasks.list, or the task_id that tasks.create returns).

recurrenceobject | nullcuerpoopcional

Respuesta

task_idstring
taskobject

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/tasks" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "title": "TITLE"
}'

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X POST "https://api.mb-suite.com/v1/tasks" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "title": "TITLE"
}'
PATCH/v1/tasks/{task_id}

Update a task

task_management.tasks.update

EscrituraDesde 2026-11-01

Updates one or more fields of a task: title, description, status, priority, assignee (null unassigns), due and start dates (null clears), labels, alert_user_ids, watchers, tags, recurrence (null removes it), project/item link and order. Moving the task to a DONE status completes it exactly like task_management.tasks.complete (next instance of a recurring task, email to alert_user_ids); its scope (account, private) changes only with task_management.tasks.change_scope. Reassigning a private task also updates its subtasks, which stay private to the people of the task. Unknown fields are rejected. Returns the updated task and changed; when the edit completed it, completed true and, for a recurring task, next_task_id (the next instance), as complete does.

Alcance
task_management:write
Permiso
Editar en el módulo
Tool del MCP
task_management_tasks_updateEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.update".

Costo declarado: hasta 160 lecturas y 102 escrituras por llamada (cuentan en el cupo diario).

Parámetros

task_idstringrutarequerido

The task's id (from task_management.tasks.list, or the task_id that tasks.create returns).

updatesobjectcuerporequerido

The fields to change (at least one).

Respuesta

taskobject
changedboolean

false when the call changed nothing (everything already was as sent).

completedtrue

Present when this edit completed the task (a DONE status).

next_task_idstring

The next instance a recurring task got when this edit completed it: tell the person.

Errores

Ejemplo

curl -X PATCH "https://api.mb-suite.com/v1/tasks/{task_id}" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "updates": {}
}'

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X PATCH "https://api.mb-suite.com/v1/tasks/{task_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "updates": {}
}'
POST/v1/tasks/{task_id}/complete

Complete a task

task_management.tasks.complete

EscrituraIdempotenteDesde 2026-11-01

Marks a task as done with a DONE-category status (status_id, default status_done). If the task is recurring, its next instance comes back as next_task_id: created now with its subtasks reset (task_management.task.created fires for it), or, when the series already has the instance for that date (the task was completed, reopened and completed again), that same one, which is never duplicated; if it has alert_user_ids, each of those members gets an email in their language saying who completed it. Idempotent: completing a task that is already done changes nothing and sends nothing (changed: false).

Instrucciones para agentes

Tell the person the next instance of a recurring task (next_task_id; when it already existed it is the same one, not a new copy) and that the alert emails went out, if the task had people to alert.

Alcance
task_management:write
Permiso
Editar en el módulo
Tool del MCP
task_management_tasks_completeEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.complete".

Costo declarado: hasta 60 lecturas y 52 escrituras por llamada (cuentan en el cupo diario).

Parámetros

task_idstringrutarequerido

The task's id (from task_management.tasks.list, or the task_id that tasks.create returns).

status_idstringcuerpoopcional

A status of the DONE category; default status_done, or the first DONE one (an id from task_management.config.get statuses).

Respuesta

taskobject
changedboolean
next_task_idstring

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/tasks/{task_id}/complete" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X POST "https://api.mb-suite.com/v1/tasks/{task_id}/complete" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/tasks/{task_id}/reopen

Reopen a task

task_management.tasks.reopen

EscrituraIdempotenteDesde 2026-11-01

Moves a task back to an OPEN-category status (status_id, default status_todo) and clears its completion date. It does not delete the next instance a recurring task already created: completing the task again returns that instance instead of creating another one. Idempotent: a task already open in that status changes nothing (changed: false).

Alcance
task_management:write
Permiso
Editar en el módulo
Tool del MCP
task_management_tasks_reopenEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.reopen".
Eventos que puede emitir
task_management.task.updated

Costo declarado: hasta 3 lecturas y 1 escrituras por llamada (cuentan en el cupo diario).

Parámetros

task_idstringrutarequerido

The task's id (from task_management.tasks.list, or the task_id that tasks.create returns).

status_idstringcuerpoopcional

A status of the OPEN category; default status_todo, or the first OPEN one (an id from task_management.config.get statuses).

Respuesta

taskobject
changedboolean

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/tasks/{task_id}/reopen" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X POST "https://api.mb-suite.com/v1/tasks/{task_id}/reopen" \
  -H "Authorization: Bearer $MB_TEST_KEY"
DELETE/v1/tasks/{task_id}

Delete a task

task_management.tasks.delete

IrreversibleDesde 2026-11-01

Deletes a task together with its subtasks (the app deletes the same way). Everything goes to the 30-day trash, where an owner or admin can restore it (platform.trash.restore); comments stay attached and come back with the task. Attachments are kept for the restore. Outside the app it needs a dry run and a confirm_token, except a REST DELETE with a key allowed to delete.

Con una API key, este DELETE se ejecuta directo: el registro queda 30 días en la papelera y la respuesta trae su trash_item_id. Con un token OAuth, y por el MCP, pide dry_run → confirm_token.

Alcance
task_management:write y «Permitir eliminar» (task_management:delete en OAuth)
Permiso
Editar en el módulo
Tool del MCP
task_management_tasks_deleteEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.delete".
Eventos que puede emitir
task_management.task.deleted

Costo declarado: hasta 103 lecturas y 101 escrituras por llamada (cuentan en el cupo diario).

Parámetros

task_idstringrutarequerido

The task's id (from task_management.tasks.list, or the task_id that tasks.create returns).

Respuesta

oktrue
trash_item_idstring

The trash item this deletion left: the item_id of platform.trash.restore (POST /trash/{item_id}/restore). Missing if nothing went to the trash.

trash_item_idsarray<string>

Only when the deletion left more than one copy: all of them, the first being trash_item_id.

trash_expires_atnumber

When the copy leaves the trash for good (epoch ms): 30 days after the deletion.

Errores

Ejemplo

curl -X DELETE "https://api.mb-suite.com/v1/tasks/{task_id}" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X DELETE "https://api.mb-suite.com/v1/tasks/{task_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/tasks/bulk/delete

Delete many tasks

task_management.tasks.bulk.delete

IrreversibleMasiva · hasta 200Desde 2026-11-01

Deletes up to 200 tasks with their subtasks; each one goes to the 30-day trash and can be restored on its own. Ids that do not exist or that the caller cannot see are skipped and returned in not_found. Outside the app it requires a dry run (which lists what will be deleted) and a confirm_token.

Pide confirmación: primero dry_run: true (vista previa y confirm_token, que vale 10 minutos y una sola vez), después el mismo cuerpo con confirm_token. En unas pocas, solo con ciertos datos: la descripción dice cuándo. Por qué y cómo: Vista previa y confirmación.

Alcance
task_management:write y «Permitir eliminar» (task_management:delete en OAuth)
Permiso
Editar en el módulo
Tool del MCP
task_management_tasks_bulk_deleteEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.bulk.delete".
Eventos que puede emitir
task_management.task.deleted

Costo declarado: hasta 800 lecturas y 800 escrituras por llamada (cuentan en el cupo diario).

Parámetros

task_idsarray<string>cuerporequerido

The tasks' ids (1 to 200), from task_management.tasks.list.

Respuesta

deletednumber
not_foundarray<string>
trash_item_idsarray<string>

The trash items this deletion left, one per record: the item_id of platform.trash.restore (POST /trash/{item_id}/restore).

trash_expires_atnumber

When the copy leaves the trash for good (epoch ms): 30 days after the deletion.

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/tasks/bulk/delete" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "task_ids": [
    "TASK_ID"
  ],
  "dry_run": true
}'

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X POST "https://api.mb-suite.com/v1/tasks/bulk/delete" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "task_ids": [
    "TASK_ID"
  ],
  "dry_run": true
}'
POST/v1/tasks/bulk/update

Edit many tasks

task_management.tasks.bulk.update

EscrituraMasiva · hasta 200Desde 2026-11-01

Applies the same change to up to 200 tasks, like the selection bar of the app: due_date (null clears it), assignee_id (null unassigns; the person must belong to the scope of every task: an Account's team, or the organization for a private task), priority_id, add_label_ids and remove_label_ids. Reassigning private tasks also updates their subtasks. It does not complete tasks (use task_management.tasks.complete). Ids not found or not visible are skipped and returned in not_found. Outside the app it requires a dry run and a confirm_token.

Pide confirmación: primero dry_run: true (vista previa y confirm_token, que vale 10 minutos y una sola vez), después el mismo cuerpo con confirm_token. En unas pocas, solo con ciertos datos: la descripción dice cuándo. Por qué y cómo: Vista previa y confirmación.

Alcance
task_management:write
Permiso
Editar en el módulo
Tool del MCP
task_management_tasks_bulk_updateEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.bulk.update".
Eventos que puede emitir
task_management.task.updated

Costo declarado: hasta 460 lecturas y 400 escrituras por llamada (cuentan en el cupo diario).

Parámetros

task_idsarray<string>cuerporequerido

The tasks' ids (1 to 200), from task_management.tasks.list.

updatesobjectcuerporequerido

What changes in every task (at least one field).

Respuesta

updatednumber
not_foundarray<string>

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/tasks/bulk/update" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "task_ids": [
    "TASK_ID"
  ],
  "updates": {},
  "dry_run": true
}'

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X POST "https://api.mb-suite.com/v1/tasks/bulk/update" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "task_ids": [
    "TASK_ID"
  ],
  "updates": {},
  "dry_run": true
}'
POST/v1/tasks/{task_id}/scope

Change the scope of a task

task_management.tasks.change_scope

EscrituraDesde 2026-11-01

Changes who a task belongs to: the workspace (kind workspace), one of its Accounts (kind account + account_id; the task stays in the workspace classified under that Account) or private (kind private: only the creator and the assignee see it). Its subtasks follow it. Optional edits apply other field changes in the same call. An assignee who does not belong to the new scope is replaced by the caller, and watchers and alerted people outside it are dropped. Moving a task to another organization is only possible from the app; a credential works inside its own organization (leave target.org_id out). Returns changed (the scope changed), from and to, and how many subtasks followed it.

Alcance
task_management:write
Permiso
Editar en el módulo
Tool del MCP
task_management_tasks_change_scopeEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.change_scope".

Costo declarado: hasta 110 lecturas y 220 escrituras por llamada (cuentan en el cupo diario).

Parámetros

task_idstringrutarequerido

The task's id (from task_management.tasks.list, or the task_id that tasks.create returns).

targetobjectcuerporequerido

Where the task goes.

editsobjectcuerpoopcional

Fields to change in the same call (the ones the app lets you edit while moving a task).

Respuesta

task_idstring
target_org_idstring
changedboolean

true when the task's scope changed (from differs from to); false when it already was there.

movedboolean

true only when the task moved to another organization, which only the app can do: through the API and the MCP it is always false.

fromobject | null
toobject
subtasks_movednumber
comments_movednumber
cleanup_failedboolean
titlestring

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/tasks/{task_id}/scope" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "target": {}
}'

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X POST "https://api.mb-suite.com/v1/tasks/{task_id}/scope" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "target": {}
}'
POST/v1/tasks/bulk/scope

Change the scope of many tasks

task_management.tasks.bulk.change_scope

EscrituraMasiva · hasta 500Desde 2026-11-01

Changes the scope (workspace, an Account, or private) of up to 500 tasks of this organization at once, with the same rules as task_management.tasks.change_scope. Each task is processed on its own: the ids that moved come back in moved and the rest in failed with their error code (a subtask, a task not found). Outside the app it requires a dry run and a confirm_token.

Pide confirmación: primero dry_run: true (vista previa y confirm_token, que vale 10 minutos y una sola vez), después el mismo cuerpo con confirm_token. En unas pocas, solo con ciertos datos: la descripción dice cuándo. Por qué y cómo: Vista previa y confirmación.

Alcance
task_management:write
Permiso
Editar en el módulo
Tool del MCP
task_management_tasks_bulk_change_scopeEn la superficie completa; en la compacta, mb_execute_operation con id: "task_management.tasks.bulk.change_scope".

Costo declarado: hasta 2500 lecturas y 2500 escrituras por llamada (cuentan en el cupo diario).

Parámetros

task_idsarray<string>cuerporequerido

The tasks' ids (1 to 500), from task_management.tasks.list.

targetobjectcuerporequerido

Where the task goes.

Respuesta

movedarray<string>
failedarray<object>
target_org_idstring

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/tasks/bulk/scope" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "task_ids": [
    "TASK_ID"
  ],
  "target": {},
  "dry_run": true
}'

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X POST "https://api.mb-suite.com/v1/tasks/bulk/scope" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "task_ids": [
    "TASK_ID"
  ],
  "target": {},
  "dry_run": true
}'