move_task
Move tasks between projects while preserving status, links, and history. Records the move with reason, supports batch keys, and returns per-task results.
Instructions
Moves a task to another project, recording the move, both keys and the reason
as a moved entry of the task. Available to a main token alone.
The task gets the next number of the new project, or its own earlier key there
when it returns to a project it has been in: a task holds at most one key per
project. The key it leaves goes to previous_keys and keeps addressing the task
in every call that takes a key; no other task ever gets it. Status, sections,
links, parent, children and case stay as they are, and a closed task moves too.
One key moves one task: its children stay in their project.
Moving into or out of a frozen project fails with project_archived.
A list of keys moves each task on its own, in list order, so new numbers follow
that order; each moved task gets its own moved entry with the one reason. The
answer is results, one per listed key, repeats included: moved, already
(the task is in that project already) or error with the code a single move
would give, such as task_not_found or project_archived of the task's own
project. A refusal of one task leaves the others moved. A missing main scope,
a blank reason, an unknown or archived target project and a list size out of
range refuse the whole call before any move.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Task key `PROJECT-N`, case-insensitive, or a list of 1 to 100 keys; a previous key of a moved task addresses it as well. A list outside that range is refused with `task_move_batch_size_invalid` before any move | |
| reason | Yes | Why the task moves; a blank one is refused with `task_move_reason_required`. Filed in the `moved` entry of the task's case | |
| project | Yes | Key of the project the task moves to, case-insensitive. An unknown key is refused with `project_not_found`, the project the task is already in with `task_already_in_project` |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| no | No | Number of the `moved` entry in the task's case | |
| key | No | Key the task got in the new project | |
| results | No | One outcome per listed key, in list order | |
| version | No | Task version after the move | |
| previous_keys | No | Keys the task had before, in the order they were left |