Copies a task list
Changed onCreates a new task list by copying a source task list (template_id) into a target project and folder. By default only the task list shell is copied; enable the copy_* flags to duplicate its tasks and their details.
Required: name, template_id (the source task list), project_id, and the target folder_id.
Copy flags
All copy_* flags default to false. Every flag below requires the "tasks" gate — at least one of copy_open_tasks / copy_closed_tasks.
| Flag(s) | Prerequisite | Notes |
|---|---|---|
| copy_open_tasks, copy_closed_tasks | — | The "tasks" gate |
| copy_task_comments, copy_task_description, copy_task_subscribers, copy_task_attachments | copy_open_tasks or copy_closed_tasks | — |
| copy_task_open_todos, copy_task_closed_todos | copy_open_tasks or copy_closed_tasks | — |
| copy_task_open_subtasks, copy_task_closed_subtasks | copy_open_tasks or copy_closed_tasks | — |
| copy_task_dependencies | copy_open_tasks or copy_closed_tasks | — |
| copy_assignees, copy_tags, copy_date, copy_repeat, copy_estimate | copy_open_tasks or copy_closed_tasks | — |
| copy_custom_fields | copy_open_tasks or copy_closed_tasks | Task custom field values |
Enabling any dependent flag without a tasks gate returns 422 (tasks_required).
Minimal copy (shell only)
{
"data": {
"type": "task_lists",
"attributes": {
"name": "Sprint 5",
"template_id": 884412,
"project_id": 31002,
"folder_id": 7781
}
}
}
Full copy with tasks
{
"data": {
"type": "task_lists",
"attributes": {
"name": "Sprint 5 (copy)",
"template_id": 884412,
"project_id": 31002,
"folder_id": 7781,
"copy_open_tasks": true,
"copy_task_comments": true,
"copy_task_description": true,
"copy_task_subscribers": true,
"copy_task_attachments": true,
"copy_task_open_todos": true,
"copy_task_open_subtasks": true,
"copy_task_dependencies": true,
"copy_assignees": true,
"copy_tags": true,
"copy_date": true,
"copy_repeat": true,
"copy_estimate": true,
"copy_custom_fields": true
}
}
}
Request
- Base URLhttps://developer.productive.io (the document declares no server; this is the origin it was published from)
- URLhttps://developer.productive.io/api/v2/task_lists/copy
- Authnone declared
Request body
Example request
{
"data": {
"type": "task_lists",
"attributes": {
"name": "Sprint 5 (copy)",
"template_id": 884412,
"project_id": 31002,
"folder_id": 7781
}
}
}Response
Single task list
Example response
{
"data": {
"id": "14308",
"type": "task_lists",
"attributes": {
"name": "Sprint 42",
"position": 1,
"placement": 1000000,
"archived_at": null,
"email_key": "a1b2c3d4e5f6789012345678901234ab"
},
"relationships": {
"project": {
"data": {
"type": "projects",
"id": "6899"
}
},
"folder": {
"data": {
"type": "folders",
"id": "5522"
}
}
}
},
"included": []
}Changes
- warning
added the new
bad_decimal_formatenum value to the//response property for the response status - warning
added the new
non_finite_numberenum value to the//response property for the response status - warning
added the new
null_bytes_in_paramsenum value to the//response property for the response status - info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- warning
- breaking
the
//response's property type changed fromstringto no type, and format fromdate-timeto no format for status - breaking
the
//response's property type changed fromintegerto no type for status - breaking
the
//response's property type changed fromintegerto no type for status - warning
deleted the
headerrequest parameterX-Organization-Id - warning
removed the optional property
//from the response with the status
This list may be incomplete.
- breaking