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]=1419

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-29T06:15:06.374+02:00",
        "updated_at": "2026-03-29T06:15:06.374+02: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": "463533b181743b63868110248a50a6e8",
        "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-29T06:15:06.000+02:00",
        "initial_estimate": null,
        "remaining_time": null,
        "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
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/tasks?filter%5Bproject_id%5D=1419&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/tasks?filter%5Bproject_id%5D=1419&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]=1432

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-29T06:15:08.684+02:00",
        "updated_at": "2026-03-29T06:15:08.684+02: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": "c4220cabbfab653ef6279d1c728a28d0",
        "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-29T06:15:08.000+02:00",
        "initial_estimate": null,
        "remaining_time": null,
        "billable_time": null,
        "worked_time": null,
        "deleted_at": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "2060"
          }
        },
        "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=1432&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/tasks?filter%5Bproject_id%5D=1432&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-29T06:15:09.078+02:00",
      "updated_at": "2026-03-29T06:15:09.078+02: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": "55a750775c0378ec6795bd5e503cd44a",
      "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-29T06:15:09.000+02: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": {}
}

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": "1437"
        }
      },
      "task_list": {
        "data": {
          "type": "task_lists",
          "id": "319"
        }
      },
      "workflow_status": {
        "data": {
          "type": "workflow_statuses",
          "id": "2006"
        }
      }
    }
  }
}
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-29T06:15:09.713+02:00",
      "updated_at": "2026-03-29T06:15:09.713+02: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": "b61210b7e7d2e284dc879c2bdd5108d9",
      "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-29T06:15:09.000+02:00",
      "initial_estimate": 60,
      "remaining_time": 60,
      "billable_time": null,
      "worked_time": null,
      "deleted_at": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2064"
        }
      },
      "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": "1439"
        }
      },
      "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-29T06:15:10.556+02:00",
      "updated_at": "2026-03-29T06:15:10.556+02: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": "2a0a9894b08b42b1f5d804fe325f8212",
      "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-29T06:15:10.000+02:00",
      "initial_estimate": 60,
      "remaining_time": 60,
      "billable_time": null,
      "worked_time": null,
      "deleted_at": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2066"
        }
      },
      "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": "7713"
          },
          {
            "type": "people",
            "id": "7714"
          }
        ]
      }
    }
  }
}
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-29T06:15:11.229+02:00",
      "updated_at": "2026-03-29T06:15:11.537+02: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": "7ff3ac916d23f95a6e1d384b5c811643",
      "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-29T06:15:11.000+02:00",
      "initial_estimate": null,
      "remaining_time": null,
      "billable_time": null,
      "worked_time": null,
      "deleted_at": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2068"
        }
      },
      "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": "1448"
        }
      },
      "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-29T06:15:14.253+02:00",
      "updated_at": "2026-03-29T06:15:14.481+02: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": "c858cd29a13f34fffeacf146c4b5f897",
      "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-29T06:15:14.000+02:00",
      "initial_estimate": null,
      "remaining_time": null,
      "billable_time": null,
      "worked_time": null,
      "deleted_at": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2073"
        }
      },
      "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": 1457,
      "task_list_id": 337,
      "workflow_status_id": 2059
    }
  }
}
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-29T06:15:17.567+02:00",
      "updated_at": "2026-03-29T06:15:17.567+02: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": "1c9676a72b71cd18def6dfa26ff3230d",
      "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-29T06:15:17.000+02:00",
      "initial_estimate": null,
      "remaining_time": null,
      "billable_time": null,
      "worked_time": null,
      "deleted_at": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2078"
        }
      },
      "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 29 Mar 2026