# Filter all tasks Endpoint: GET /tasks Version: v1 Security: http ## Query parameters: - `sort` (string) Available sorts are title, uri, status, created_at, due_date.You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title. Example: "sort=-created_at,title" - `include` (string) Available includes are project, client, parentTask, subTasks. You can include multiple options by separating them with a comma. - `page[size]` (integer) The number of results that will be returned per page. - `page[cursor]` (string) The cursor to start the pagination from. - `filter` (string) Allowed filter fields (with allowed operators): | Field | Type | Operators | |------|------|-----------| | title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | uri | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | due_date | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull | | status | enum | eq, ne, neq, in, nin, notin | | project.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | project.external_id | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | project.shortcode | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | project.name | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | client.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | client.external_id | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | client.name | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | client.shortcode | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | assignee.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | assignee.email | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | assignee.type | enum | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | epic.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | epic.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | phase.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | phase.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | phase.po_number | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | phase.start_date | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull | | phase.end_date | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull | | milestone.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | milestone.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | milestone.po_number | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | milestone.date | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull | | parentTask.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | parentTask.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | parentTask.uri | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | parentTask.status | enum | eq, ne, neq, in, nin, notin | | subTasks | Relation - title (string) - uri (string) - status (enum) | any, none, count, all | Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL. You can check the full syntax at Docs Filtering section. Special values: - me.id — current authenticated user id (usable on fields of type id). Example: id eq me.id - now — current date-time. Example: dueOn lt now - sow/eow — start/end of week. Examples: dueOn gt sow, dueOn lt eow - som/eom — start/end of month. Examples: dueOn gt som, dueOn lt eom - today — special date for today; with eq it expands to the whole day range. Example: dueOn eq today - today±Nd — relative day offset. Examples: today-30d, today+5d. Example: "title contains \"Acme\" and (created_at >= \"2024-01-01\" or client.name contains \"Corp\")" ## Response 200 fields (application/json): - `data` (array, required) The list of items - `data.id` (string, required) - `data.project_id` (string, required) - `data.client_id` (string, required) - `data.parent_task_id` (string, required) - `data.external_id` (string,null, required) - `data.uri` (string, required) - `data.title` (string, required) - `data.status` (string, required) | | |---| | Backlog | | New In Todo | | WIP In progress | | Completed | | Approved | | Closed Task was archived | Enum: "Backlog", "New", "WIP", "Completed", "Approved", "Closed" - `data.type` (string, required) - `data.is_onhold` (boolean, required) - `data.is_public` (boolean, required) If false, the task is only visible to the project team - not guest users - `data.due_date` (string,null, required) - `data.due_date_settings` (object, required) - `data.due_date_settings.is_hard_deadline` (boolean, required) - `data.due_date_settings.recurring_type` (any, required) - `data.due_date_settings.recurring_interval` (integer,null, required) Integer offset if recurring_type = daily or NULL -> offset ignored if recurring_type = weekly -> 1 = every Monday, 2 = every Tuesday, etc if recurring_type = monthly -> 1 = every month, 2 = every 2 months, etc - `data.phase` (any, required) - `data.milestone` (any, required) - `data.epic` (any, required) - `data.parentTask` (any, required) - `data.subTasks` (array, required) - `data.completed_at` (string,null, required) - `data.closed_at` (string,null, required) - `data.created_at` (string,null, required) - `data.assignee` (object, required) - `data.assignee.first_name` (string, required) - `data.assignee.last_name` (string, required) - `data.assignee.email` (string, required) - `data.assignee.added_at` (string, required) - `data.assignee.space` (object, required) - `data.assignee.space.name` (string, required) - `data.list_sorting` (integer, required) - `links` (array, required) - `meta` (object, required) - `meta.path` (string,null, required) Base path for paginator generated URLs. - `meta.per_page` (integer, required) Number of items shown per page. - `meta.next_cursor` (string,null, required) - `meta.next_cursor_url` (string,null, required) - `meta.prev_cursor` (string,null, required) - `meta.prev_cursor_url` (string,null, required) ## Response 401 fields (application/json): - `message` (string, required) Error overview.