Search tasksGET

Description

Returns the tasks that match a free text search, with the most relevant task first.

All words in the query must match. Special characters are ignored.

Words match the start of words in the task, e.g. proj matches project.

By default, tasks in date grouped columns are only included if their grouping date is in the last 365 days. Use groupingDateFrom to include older tasks.

When there are more matching tasks than the limit, the response will have tasksLimited=true.

See Get task for details of included properties for the individual tasks.

If the search index is being updated, the response has status code 503. Try again after the number of seconds in the Retry-After header.

Changes made in the last few seconds may not be included in the results.

Permissions

The API token needs All data read access.

Request format

curl "https://kanbanflow.com/api/v1/tasks/search?query=<QUERY>&<PARAM_1>=<PARAM_VALUE_1>&...<PARAM_N>=<PARAM_VALUE_N>"

Please note that you should URL encode the parameters, especially if they contain spaces.

Example request

curl "https://kanbanflow.com/api/v1/tasks/search?query=report"

Example request (fields, columnId, color, limit)

curl "https://kanbanflow.com/api/v1/tasks/search?query=report&fields=name,description&columnId=C9LIn5sEEpqT,CBO1VNGqDc4K&color=red&limit=50"

Example request (groupingDateFrom, groupingDateTo)

curl "https://kanbanflow.com/api/v1/tasks/search?query=report&groupingDateFrom=2025-01-01&groupingDateTo=2025-03-31"

Example response

{
    "tasksLimited": false,
    "results": [
        {
            "task": {
                "_id": "T3s6UGyzY",
                "name": "Write report",
                "description": "",
                "color": "red",
                "columnId": "C9LIn5sEEpqT",
                "createdTimestamp": "2023-12-31T20:00:00.000Z"
            },
            "matches": [
                {
                    "field": "name",
                    "highlightHtml": "Write <em>report</em>"
                }
            ]
        }
    ]
}

Valid parameters

ParameterTypeComment
queryStringRequired. The text to search for.
fieldsStringThe fields to search in. Use commas to give multiple fields, e.g. fields=name,description. Possible values: name, description, subtask, label, comment, attachment and customField. Default: name,description. The task number is always searched when name is included.
columnIdStringOnly include tasks in the given columns. Use commas to give multiple columns. See Get board for information about how to get a column's ID.
swimlaneIdStringOnly include tasks in the given swimlanes. Use commas to give multiple swimlanes. See Get board for information about how to get a swimlane's ID.
colorStringOnly include tasks with the given colors. Use commas to give multiple colors, e.g. color=red,blue. Each color must be one of the colors on the board. See Get board for information about how to get the board's colors.
groupingDateFromStringOnly include tasks with a grouping date on or after this date. This only applies to date grouped columns. Valid format is YYYY-MM-DD, e.g. 2025-01-01. Default: 365 days before today, or 365 days before groupingDateTo if it is given.
groupingDateToStringOnly include tasks with a grouping date on or before this date. This only applies to date grouped columns. Valid format is YYYY-MM-DD, e.g. 2025-12-31.
limitIntegerThe maximum number of tasks to retrieve. The highest value that can be used is 100. Default: 10.

Response properties

PropertyTypeComment
tasksLimitedBooleantrue if there are more matching tasks than the limit.
resultsArrayThe matching tasks, with the most relevant task first. Each item has a task and matches.
results[].taskObjectThe task. See Get task for details.
results[].matchesArrayWhere the search text was found. Each item has a field and a highlightHtml. The field has the same possible values as the fields parameter, and also number for matches on the task number. For custom fields, the item also has a customFieldId. The highlightHtml is an HTML encoded part of the text, where the matching words are wrapped in <em> tags.