Skip to content
LogoLogo

Duplicate a Task

Duplicate a Task

POST/api/v1/tasks/{task_id}/duplicate

Creates a new independent Task from an active source Task. Title, description, and priority are always copied. Callers explicitly choose whether to copy the current assignee, due date, milestone, labels, attachment links, and the active subtask tree. Comments, Activity, notification history, assignment periods, time entries, subscriptions, and integration execution history are never copied.

Cross-Project duplication maps Statuses by semantic category unless an explicit destination Status is supplied, keeps Workspace labels, maps Project labels by normalized name, and reports optional resources that cannot be copied in issues. Milestones remain Project-local. The command copies at most 25 active descendants and 100 clean attachment links per copied Task; it never duplicates stored attachment objects or storage quota. If-Match protects the source revision, and retries with the same idempotency key replay the original result.

Path Parameters

task_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Header Parameters

X-CSRF-TokenRequired
string·min 43·max 43

Session-bound CSRF token. It must exactly match the __Host-assign_csrf cookie sent with the request.

If-MatchRequired
string

Entity tag containing the resource version last observed by the client.

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

Request Body

application/json
target_project_id
string <uuid>

Destination Project. Omit or use null to duplicate inside the source Project.

Example0198ac5e-f9b7-7000-8000-000000000001
target_status_id
string <uuid>

Explicit destination Status for the new root. Omit or use null to preserve the Status in the same Project or map its category across Projects.

Example0198ac5e-f9b7-7000-8000-000000000001
copy_assigneeRequired
boolean
copy_datesRequired
boolean

Copy the Task due date.

copy_milestoneRequired
boolean
copy_labelsRequired
boolean
copy_subtasksRequired
boolean

Copy at most 25 active descendants while preserving the parent hierarchy.

copy_attachmentsRequired
boolean

Link each copied Task to its existing clean attachment objects; stored bytes are not duplicated.

Responses

409The source revision is stale, the source is inactive, or the destination Project is unavailable.
410The source Task has been purged.
422No compatible destination Status exists or a requested copy exceeds a bounded command limit.