Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

POST /tasks/{id}/move with section_id silently strips parent_id from subtasks

Open
#258 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
72/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
api

Research direction

Locate the implementation and tests for POST /api/v1/tasks/{task_id}/move, then reproduce the section_id path with a parent task and subtask. Compare it with the parent_id path and add coverage showing that moving by section preserves the parent relationship or returns an explicit warning or error.

Written by the indexing model from the issue text.

Description

Description

When moving a subtask to a section via POST /api/v1/tasks/{task_id}/move with {"section_id": "..."}, the API silently clears the task's parent_id, promoting the subtask to a top-level task. The response returns 200 with no warning that the parent relationship was removed.

Steps to reproduce

  1. Create a parent task and a subtask under it (parent_id set).
  2. Call POST /api/v1/tasks/{subtask_id}/move with body {"section_id": "<section_id>"}.
  3. Fetch the task again: parent_id is now null.

Expected behavior

Moving a subtask between sections should preserve its parent_id, or the API should return an error/warning if detaching the parent is intentional.

Actual behavior

The subtask is silently detached and becomes a top-level task in the target section.

Additional context

  • Moving with {"parent_id": "<parent_id>"} on the same endpoint does re-attach the task, so the move endpoint clearly understands parentage. Only the section_id variant drops it.
  • The task update endpoint (POST /api/v1/tasks/{task_id}) rejects parent_id as an unsupported field, so the move endpoint is currently the only way to restore the relationship after it is lost.
  • Observed against REST API v1 on 2026-09-22.
Dominant language
Python
Stars
250
Forks
34
Avg merge
3d 20h
Merged PRs (30d)
2

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Doist/todoist-api-python

All issues in Doist/todoist-api-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.