API Documentation

API Endpoint

Tasks

Tasks

For more details on how to work with custom fields please refer to Working with custom fields guide.

The Task object represents a task within the project management system.

You can find out more about tasks in our Help documentation: Tasks and task lists

Task can be one of two types:

  • milestone

  • task

Following diagram shows tasks in our data hierarchy:

Task diagram

For Task dependencies please refer to TaskDependency endpoint documentation

Supported filter params

  • after

  • assignee_id (array)

  • before

  • billable_time

  • board_id (array)

  • board_name

  • board_status (1: active, 2: archived)

  • closed_after

  • closed_at

  • closed_before

  • company_id (array)

  • created_at

  • creator_id (array)

  • custom_fields

  • date_range

  • dependency_type

  • description

  • due_date (1: any, 2: overdue)

  • due_date_after

  • due_date_before

  • due_date_on

  • id

  • initial_estimate

  • last_actor_id

  • last_activity

  • last_activity_after

  • last_activity_before

  • overdue_status (1: not overdue, 2: overdue)

  • parent_task_id (array)

  • person_type (1: user, 2: contact, 3: placeholder)

  • project_id (array)

  • project_manager_id (array)

  • project_type (1: internal project, 2 :client project)

  • public_access

  • query

  • remaining_time

  • repeating

  • start_date

  • start_date_after

  • start_date_before

  • status (1: open, 2: closed)

  • subscriber_id (array)

  • tags

  • task_list_id (array)

  • task_list_name

  • task_list_status (1: open, 2: closed)

  • task_number

  • task_type (1: parent task, 2: subtask)

  • title

  • updated_at

  • worked_time

  • workflow_id (array)

  • workflow_status_category_id (1: not started, 2: started, 3: closed)

  • workflow_status_id (array)

Filter operations are supported on this endpoint.

Supported sort params

  • assignee_name

  • billable_time

  • board_name

  • board_position

  • closed_at

  • company_name

  • created_at

  • creator_name

  • custom_fields

  • due_date - sorts due_date and then due_time

  • placement

  • id

  • initial_estimate

  • last_activity

  • last_activity_at

  • last_actor_name

  • number

  • project_name

  • remaining_time

  • start_date

  • task_list_name

  • task_list_position

  • task_number

  • title

  • updated_at

  • worked_time

  • workflow_status_name

  • workflow_status_position

GET /api/v2/tasks
Requestsreturns tasksreturns tags as tag_list

GET  /api/v2/tasks?filter[project_id]=1408

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "252",
      "type": "tasks",
      "attributes": {
        "title": "Ticket title",
        "description": null,
        "number": "1",
        "task_number": "1",
        "private": false,
        "due_date": null,
        "start_date": null,
        "closed_at": null,
        "created_at": "2026-03-09T05:18:19.738+01:00",
        "updated_at": "2026-03-09T05:18:19.738+01:00",
        "repeat_schedule_id": null,
        "repeat_on_interval": null,
        "repeat_on_monthday": null,
        "repeat_on_weekday": [],
        "repeat_on_date": null,
        "repeat_origin_id": null,
        "email_key": "510218c3b4dbc596e8af8d249b81db14",
        "custom_fields": null,
        "todo_count": null,
        "open_todo_count": null,
        "subtask_count": null,
        "open_subtask_count": null,
        "creation_method_id": 1,
        "todo_assignee_ids": [],
        "task_dependency_count": 0,
        "type_id": 1,
        "blocking_dependency_count": 0,
        "waiting_on_dependency_count": 0,
        "linked_dependency_count": 0,
        "placement": null,
        "subtask_placement": null,
        "bookings_count": 0,
        "closed": false,
        "due_time": null,
        "tag_list": [],
        "last_activity_at": "2026-03-09T05:18:19.000+01:00",
        "initial_estimate": null,
        "remaining_time": null,
        "billable_time": null,
        "worked_time": null,
        "deleted_at": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "2044"
          }
        },
        "project": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "assignee": {
          "meta": {
            "included": false
          }
        },
        "last_actor": {
          "meta": {
            "included": false
          }
        },
        "task_list": {
          "meta": {
            "included": false
          }
        },
        "parent_task": {
          "meta": {
            "included": false
          }
        },
        "workflow_status": {
          "meta": {
            "included": false
          }
        },
        "service": {
          "meta": {
            "included": false
          }
        },
        "repeated_task": {
          "meta": {
            "included": false
          }
        },
        "template_object": {
          "meta": {
            "included": false
          }
        },
        "attachments": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "custom_field_attachments": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/tasks?filter%5Bproject_id%5D=1408&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/tasks?filter%5Bproject_id%5D=1408&page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "page_size": 30,
    "max_page_size": 200
  }
}

GET  /api/v2/tasks?filter[project_id]=1421

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "265",
      "type": "tasks",
      "attributes": {
        "title": "Ticket title",
        "description": null,
        "number": "1",
        "task_number": "1",
        "private": false,
        "due_date": null,
        "start_date": null,
        "closed_at": null,
        "created_at": "2026-03-09T05:18:21.773+01:00",
        "updated_at": "2026-03-09T05:18:21.773+01:00",
        "repeat_schedule_id": null,
        "repeat_on_interval": null,
        "repeat_on_monthday": null,
        "repeat_on_weekday": [],
        "repeat_on_date": null,
        "repeat_origin_id": null,
        "email_key": "e91d2cd5063f33e3e682e40d22b0e5b1",
        "custom_fields": null,
        "todo_count": null,
        "open_todo_count": null,
        "subtask_count": null,
        "open_subtask_count": null,
        "creation_method_id": 1,
        "todo_assignee_ids": [],
        "task_dependency_count": 0,
        "type_id": 1,
        "blocking_dependency_count": 0,
        "waiting_on_dependency_count": 0,
        "linked_dependency_count": 0,
        "placement": null,
        "subtask_placement": null,
        "bookings_count": 0,
        "closed": false,
        "due_time": null,
        "tag_list": [],
        "last_activity_at": "2026-03-09T05:18:21.000+01:00",
        "initial_estimate": null,
        "remaining_time": null,
        "billable_time": null,
        "worked_time": null,
        "deleted_at": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "2049"
          }
        },
        "project": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "assignee": {
          "meta": {
            "included": false
          }
        },
        "last_actor": {
          "meta": {
            "included": false
          }
        },
        "task_list": {
          "meta": {
            "included": false
          }
        },
        "parent_task": {
          "meta": {
            "included": false
          }
        },
        "workflow_status": {
          "meta": {
            "included": false
          }
        },
        "service": {
          "meta": {
            "included": false
          }
        },
        "repeated_task": {
          "meta": {
            "included": false
          }
        },
        "template_object": {
          "meta": {
            "included": false
          }
        },
        "attachments": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "custom_field_attachments": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/tasks?filter%5Bproject_id%5D=1421&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/tasks?filter%5Bproject_id%5D=1421&page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "page_size": 30,
    "max_page_size": 200
  }
}

Get tasks
GET/api/v2/tasks


GET /api/v2/tasks/1
Requestsreturns task

GET  /api/v2/tasks/268

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "268",
    "type": "tasks",
    "attributes": {
      "title": "Ticket title",
      "description": null,
      "number": "1",
      "task_number": "1",
      "private": false,
      "due_date": null,
      "start_date": null,
      "closed_at": null,
      "created_at": "2026-03-09T05:18:22.188+01:00",
      "updated_at": "2026-03-09T05:18:22.188+01:00",
      "repeat_schedule_id": null,
      "repeat_on_interval": null,
      "repeat_on_monthday": null,
      "repeat_on_weekday": [],
      "repeat_on_date": null,
      "repeat_origin_id": null,
      "email_key": "a4d38b94854ec10f78e7e3be86f2b8ee",
      "custom_fields": null,
      "todo_count": null,
      "open_todo_count": null,
      "subtask_count": null,
      "open_subtask_count": null,
      "creation_method_id": 1,
      "todo_assignee_ids": [],
      "task_dependency_count": 0,
      "type_id": 1,
      "blocking_dependency_count": 0,
      "waiting_on_dependency_count": 0,
      "linked_dependency_count": 0,
      "placement": null,
      "subtask_placement": null,
      "bookings_count": 0,
      "closed": false,
      "due_time": null,
      "tag_list": [],
      "last_activity_at": "2026-03-09T05:18:22.000+01:00",
      "initial_estimate": null,
      "remaining_time": null,
      "billable_time": null,
      "worked_time": null,
      "deleted_at": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2051"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "assignee": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "task_list": {
        "meta": {
          "included": false
        }
      },
      "parent_task": {
        "meta": {
          "included": false
        }
      },
      "workflow_status": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "repeated_task": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a task
GET/api/v2/tasks/{id}

URI Parameters
HideShow
id
number (required) Example: 1

task id


POST /api/v2/tasks
Requestscreates taskcreates task with default statusreturns error

POST  /api/v2/tasks

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "tasks",
    "attributes": {
      "title": "test name",
      "initial_estimate": 60,
      "remaining_time": 60,
      "start_date": "2019-05-05",
      "due_date": "2019-05-06"
    },
    "relationships": {
      "project": {
        "data": {
          "type": "projects",
          "id": "1426"
        }
      },
      "task_list": {
        "data": {
          "type": "task_lists",
          "id": "319"
        }
      },
      "workflow_status": {
        "data": {
          "type": "workflow_statuses",
          "id": "1995"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "271",
    "type": "tasks",
    "attributes": {
      "title": "test name",
      "description": null,
      "number": "2",
      "task_number": "2",
      "private": false,
      "due_date": "2019-05-06",
      "start_date": "2019-05-05",
      "closed_at": null,
      "created_at": "2026-03-09T05:18:22.798+01:00",
      "updated_at": "2026-03-09T05:18:22.798+01:00",
      "repeat_schedule_id": null,
      "repeat_on_interval": null,
      "repeat_on_monthday": null,
      "repeat_on_weekday": [],
      "repeat_on_date": null,
      "repeat_origin_id": null,
      "email_key": "0b1af9b822c2b199cad55b81c51fbb6c",
      "custom_fields": null,
      "todo_count": null,
      "open_todo_count": null,
      "subtask_count": null,
      "open_subtask_count": null,
      "creation_method_id": 1,
      "todo_assignee_ids": null,
      "task_dependency_count": 0,
      "type_id": 1,
      "blocking_dependency_count": 0,
      "waiting_on_dependency_count": 0,
      "linked_dependency_count": 0,
      "placement": null,
      "subtask_placement": null,
      "bookings_count": 0,
      "closed": false,
      "due_time": null,
      "tag_list": [],
      "last_activity_at": "2026-03-09T05:18:22.000+01:00",
      "initial_estimate": 60,
      "remaining_time": 60,
      "billable_time": null,
      "worked_time": null,
      "deleted_at": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2053"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "assignee": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "task_list": {
        "meta": {
          "included": false
        }
      },
      "parent_task": {
        "meta": {
          "included": false
        }
      },
      "workflow_status": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "repeated_task": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/tasks

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "tasks",
    "attributes": {
      "title": "test name",
      "initial_estimate": 60,
      "remaining_time": 60,
      "start_date": "2019-05-05",
      "due_date": "2019-05-06"
    },
    "relationships": {
      "project": {
        "data": {
          "type": "projects",
          "id": "1428"
        }
      },
      "task_list": {
        "data": {
          "type": "task_lists",
          "id": "321"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "275",
    "type": "tasks",
    "attributes": {
      "title": "test name",
      "description": null,
      "number": "2",
      "task_number": "2",
      "private": false,
      "due_date": "2019-05-06",
      "start_date": "2019-05-05",
      "closed_at": null,
      "created_at": "2026-03-09T05:18:23.904+01:00",
      "updated_at": "2026-03-09T05:18:23.904+01:00",
      "repeat_schedule_id": null,
      "repeat_on_interval": null,
      "repeat_on_monthday": null,
      "repeat_on_weekday": [],
      "repeat_on_date": null,
      "repeat_origin_id": null,
      "email_key": "640802dc9675b15ba48012974ef56a6f",
      "custom_fields": null,
      "todo_count": null,
      "open_todo_count": null,
      "subtask_count": null,
      "open_subtask_count": null,
      "creation_method_id": 1,
      "todo_assignee_ids": null,
      "task_dependency_count": 0,
      "type_id": 1,
      "blocking_dependency_count": 0,
      "waiting_on_dependency_count": 0,
      "linked_dependency_count": 0,
      "placement": null,
      "subtask_placement": null,
      "bookings_count": 0,
      "closed": false,
      "due_time": null,
      "tag_list": [],
      "last_activity_at": "2026-03-09T05:18:23.000+01:00",
      "initial_estimate": 60,
      "remaining_time": 60,
      "billable_time": null,
      "worked_time": null,
      "deleted_at": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2055"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "assignee": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "task_list": {
        "meta": {
          "included": false
        }
      },
      "parent_task": {
        "meta": {
          "included": false
        }
      },
      "workflow_status": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "repeated_task": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/tasks

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "tasks",
    "attributes": {
      "title": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/title"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/project"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/task_list"
      }
    }
  ]
}

Create a task
POST/api/v2/tasks

URI Parameters
HideShow
project_id
number (required) Example: 1

project id

task_list_id
number (required) Example: 1

task list id

workflow_status_id
number (optional) Example: 1

workflow status id. If not send on task create, task gets opened in the projects default workflow status.

title
string (required) Example: Title

title

assignee_id
number (optional) Example: 1

assignee id

description
string (optional) Example: Some+description

description

due_date
date (optional) Example: 2022-02-14

due date

initial_estimate
number (optional) Example: 60

initial estimate in minutes

private
boolean (optional) Example: true

is task private

start_date
date (optional) Example: 2022-02-14

start date


PATCH /api/v2/tasks/1
Requestsupdates taskreturns errorupdates task and sets empty custom fields

PATCH  /api/v2/tasks/277

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "tasks",
    "attributes": {
      "title": "new title"
    },
    "relationships": {
      "subscribers": {
        "data": [
          {
            "type": "people",
            "id": "7681"
          },
          {
            "type": "people",
            "id": "7682"
          }
        ]
      }
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "277",
    "type": "tasks",
    "attributes": {
      "title": "new title",
      "description": null,
      "number": "1",
      "task_number": "1",
      "private": false,
      "due_date": null,
      "start_date": null,
      "closed_at": null,
      "created_at": "2026-03-09T05:18:24.560+01:00",
      "updated_at": "2026-03-09T05:18:24.832+01:00",
      "repeat_schedule_id": null,
      "repeat_on_interval": null,
      "repeat_on_monthday": null,
      "repeat_on_weekday": [],
      "repeat_on_date": null,
      "repeat_origin_id": null,
      "email_key": "cc8606c6555b724a1aab9617ab5359d4",
      "custom_fields": null,
      "todo_count": null,
      "open_todo_count": null,
      "subtask_count": null,
      "open_subtask_count": null,
      "creation_method_id": 1,
      "todo_assignee_ids": [],
      "task_dependency_count": 0,
      "type_id": 1,
      "blocking_dependency_count": 0,
      "waiting_on_dependency_count": 0,
      "linked_dependency_count": 0,
      "placement": null,
      "subtask_placement": null,
      "bookings_count": 0,
      "closed": false,
      "due_time": null,
      "tag_list": [],
      "last_activity_at": "2026-03-09T05:18:24.000+01:00",
      "initial_estimate": null,
      "remaining_time": null,
      "billable_time": null,
      "worked_time": null,
      "deleted_at": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2057"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "assignee": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "task_list": {
        "meta": {
          "included": false
        }
      },
      "parent_task": {
        "meta": {
          "included": false
        }
      },
      "workflow_status": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "repeated_task": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/tasks/278

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "tasks",
    "attributes": {
      "title": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/title"
      }
    }
  ]
}

PATCH  /api/v2/tasks/283

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "tasks",
    "attributes": {},
    "relationships": {
      "project": {
        "data": {
          "type": "projects",
          "id": "1437"
        }
      },
      "task_list": {
        "data": {
          "type": "task_lists",
          "id": "330"
        }
      }
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "283",
    "type": "tasks",
    "attributes": {
      "title": "Ticket title",
      "description": null,
      "number": "1",
      "task_number": "1",
      "private": false,
      "due_date": null,
      "start_date": null,
      "closed_at": null,
      "created_at": "2026-03-09T05:18:27.146+01:00",
      "updated_at": "2026-03-09T05:18:27.378+01:00",
      "repeat_schedule_id": null,
      "repeat_on_interval": null,
      "repeat_on_monthday": null,
      "repeat_on_weekday": [],
      "repeat_on_date": null,
      "repeat_origin_id": null,
      "email_key": "dcec37cad55544dcd925e192afd8361c",
      "custom_fields": null,
      "todo_count": null,
      "open_todo_count": null,
      "subtask_count": null,
      "open_subtask_count": null,
      "creation_method_id": 1,
      "todo_assignee_ids": [],
      "task_dependency_count": 0,
      "type_id": 1,
      "blocking_dependency_count": 0,
      "waiting_on_dependency_count": 0,
      "linked_dependency_count": 0,
      "placement": 1010000,
      "subtask_placement": null,
      "bookings_count": 0,
      "closed": false,
      "due_time": null,
      "tag_list": [],
      "last_activity_at": "2026-03-09T05:18:27.000+01:00",
      "initial_estimate": null,
      "remaining_time": null,
      "billable_time": null,
      "worked_time": null,
      "deleted_at": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2062"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "assignee": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "task_list": {
        "meta": {
          "included": false
        }
      },
      "parent_task": {
        "meta": {
          "included": false
        }
      },
      "workflow_status": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "repeated_task": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Update a task
PATCH/api/v2/tasks/{id}

URI Parameters
HideShow
id
number (required) Example: 1

task id


DELETE /api/v2/tasks/1
Requestsarchives task and deletes comments

DELETE  /api/v2/tasks/291

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses204
This response has no content.

Deletes a task
DELETE/api/v2/tasks/{id}

URI Parameters
HideShow
id
number (required) Example: 1

task id


POST /api/v2/tasks/copy
Requestscopies task and broadcasts created eventreturns error

POST  /api/v2/tasks/copy

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "tasks",
    "attributes": {
      "title": "copy test name",
      "template_id": 292,
      "project_id": 1446,
      "task_list_id": 337,
      "workflow_status_id": 2048
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "293",
    "type": "tasks",
    "attributes": {
      "title": "copy test name",
      "description": null,
      "number": "2",
      "task_number": "2",
      "private": false,
      "due_date": null,
      "start_date": null,
      "closed_at": null,
      "created_at": "2026-03-09T05:18:30.334+01:00",
      "updated_at": "2026-03-09T05:18:30.334+01:00",
      "repeat_schedule_id": null,
      "repeat_on_interval": null,
      "repeat_on_monthday": null,
      "repeat_on_weekday": [],
      "repeat_on_date": null,
      "repeat_origin_id": null,
      "email_key": "f71387bf06b5692ed59dd0c184b6c8c5",
      "custom_fields": null,
      "todo_count": null,
      "open_todo_count": null,
      "subtask_count": null,
      "open_subtask_count": null,
      "creation_method_id": 1,
      "todo_assignee_ids": null,
      "task_dependency_count": 0,
      "type_id": 1,
      "blocking_dependency_count": 0,
      "waiting_on_dependency_count": 0,
      "linked_dependency_count": 0,
      "placement": null,
      "subtask_placement": null,
      "bookings_count": 0,
      "closed": false,
      "due_time": null,
      "tag_list": [],
      "last_activity_at": "2026-03-09T05:18:30.000+01:00",
      "initial_estimate": null,
      "remaining_time": null,
      "billable_time": null,
      "worked_time": null,
      "deleted_at": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2067"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "assignee": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "task_list": {
        "meta": {
          "included": false
        }
      },
      "parent_task": {
        "meta": {
          "included": false
        }
      },
      "workflow_status": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "repeated_task": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/tasks/copy

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "tasks",
    "attributes": {}
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/title"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/template"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/project"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/task_list"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/workflow_status"
      }
    }
  ]
}

Copies a task
POST/api/v2/tasks/copy

URI Parameters
HideShow
id
number (required) Example: 1

task id


PATCH /api/v2/tasks/1/reposition
Requestsrepositions task before another taskrepositions task after another taskrepositions task between tasks

PATCH  /api/v2/tasks/294/reposition

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "tasks",
    "attributes": {
      "move_before_id": 295
    }
  }
}
Responses204
This response has no content.

PATCH  /api/v2/tasks/296/reposition

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "tasks",
    "attributes": {
      "move_after_id": 297
    }
  }
}
Responses204
This response has no content.

PATCH  /api/v2/tasks/298/reposition

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "tasks",
    "attributes": {
      "move_after_id": 299,
      "move_before_id": 300
    }
  }
}
Responses204
This response has no content.

Repositions a task
PATCH/api/v2/tasks/{id}/reposition

URI Parameters
HideShow
id
number (required) Example: 1

task id

move_before_id
number (optional) Example: 1

id of the task to move before

move_after_id
number (optional) Example: 1

id of the task to move after


Generated by aglio on 09 Mar 2026