Фильтрация задач
GET /public/v1/tasks возвращает все задачи в рамках доступа (тот же набор, что и табличный вид проекта в веб-приложении) и сужает выборку query-фильтрами. На этой странице — как фильтры комбинируются и готовые рецепты типовых запросов.
Во всех примерах:
BASE="https://api.bordio.com/public/v1"AUTH='Authorization: Bearer brd_sk_live_...'PROJECT="proj_6594a1b2c3d4e5f6a7b8c9d1"Как комбинируются фильтры
Заголовок раздела «Как комбинируются фильтры»- Разные параметры → AND. Каждый добавленный параметр сужает результат.
- Несколько значений в одном параметре → OR. Значения через запятую:
priority=high,criticalсовпадает с любым из двух. - Не переданные параметры ничего не ограничивают — без фильтров вернутся все задачи.
| Параметр | Значения | Примечания |
|---|---|---|
priority |
CSV из lowest, low, medium, high, critical и/или none |
none = задачи без приоритета |
task_status_id |
CSV из id task_status_… |
Id берутся из Definitions |
state |
open | closed |
Группирует статусы по состоянию — не нужно перечислять их поимённо |
task_type_id |
CSV из id task_type_… |
|
assignee_id |
CSV из id user_… и/или none |
none = задачи без исполнителя |
due_date_from |
YYYY-MM-DD или ISO-8601 datetime |
Нижняя граница диапазона дедлайна (включительно) |
due_date_to |
YYYY-MM-DD или ISO-8601 datetime |
Верхняя граница диапазона дедлайна (включительно) |
due_date |
none |
Только задачи без дедлайна; несовместим с границами диапазона |
tag_id |
CSV из id tag_… |
Совпадают задачи, у которых есть любой из тегов |
Рецепты
Заголовок раздела «Рецепты»Только задачи без исполнителя
Заголовок раздела «Только задачи без исполнителя»Спец-значение none совпадает с задачами, у которых нет исполнителя:
curl "$BASE/tasks?project_id=$PROJECT&assignee_id=none" -H "$AUTH"Задачи конкретного человека — или ничьи
Заголовок раздела «Задачи конкретного человека — или ничьи»none можно смешивать с id пользователей в одном CSV; внутри параметра значения объединяются по OR:
curl "$BASE/tasks?project_id=$PROJECT&assignee_id=user_6594a1b2c3d4e5f6a7b8c9d1,none" -H "$AUTH"Задачи без приоритета — или с низким
Заголовок раздела «Задачи без приоритета — или с низким»Приоритет опционален, поэтому priority принимает спец-значение none для задач, где он не задан. Как и любое CSV-значение, оно объединяется с остальными по OR — «нет приоритета или low» выражается одним параметром:
curl "$BASE/tasks?project_id=$PROJECT&priority=none,low" -H "$AUTH"Открытые задачи с высоким или критичным приоритетом
Заголовок раздела «Открытые задачи с высоким или критичным приоритетом»curl "$BASE/tasks?project_id=$PROJECT&state=open&priority=high,critical" -H "$AUTH"state — простейший способ разделить открытую и закрытую работу. Если нужны конкретные статусы («В работе», но не «Новая») — используйте task_status_id с id из эндпоинтов definitions.
Задачи с дедлайном в июле
Заголовок раздела «Задачи с дедлайном в июле»Обе границы включительны; date-only значения разворачиваются в начало / конец суток (UTC):
curl "$BASE/tasks?project_id=$PROJECT&due_date_from=2026-07-01&due_date_to=2026-07-31" -H "$AUTH"Можно передать и одну границу — например, всё с дедлайном от сегодня (due_date_from без второй границы) или «просроченные» — открытые задачи, чей срок уже прошёл:
curl "$BASE/tasks?project_id=$PROJECT&state=open&due_date_to=2026-07-17" -H "$AUTH"Задачи без дедлайна
Заголовок раздела «Задачи без дедлайна»Диапазон никогда не совпадёт с задачей, у которой дедлайна нет, поэтому это отдельный фильтр:
curl "$BASE/tasks?project_id=$PROJECT&due_date=none" -H "$AUTH"Задачи с любым из указанных тегов
Заголовок раздела «Задачи с любым из указанных тегов»curl "$BASE/tasks?project_id=$PROJECT&tag_id=tag_65dcc9c66f2e4e001ab18859,tag_66446ff2dc01cb59f6cbf7a6" -H "$AUTH"Всё вместе
Заголовок раздела «Всё вместе»Открытые, высокоприоритетные, ничьи, с дедлайном в этом месяце:
curl "$BASE/tasks?project_id=$PROJECT&state=open&priority=high&assignee_id=none&due_date_from=2026-07-01&due_date_to=2026-07-31" -H "$AUTH"Фильтры сочетаются с пагинацией как обычно — limit и cursor применяются к отфильтрованному результату (см. Соглашения).
due_date_from / due_date_to / due_date — почему три параметра?
Заголовок раздела «due_date_from / due_date_to / due_date — почему три параметра?»Они отвечают на два разных вопроса:
due_date_from/due_date_toвыбирают задачи, чей дедлайн попадает в диапазон. Используйте одну границу или обе.due_date=noneвыбирает задачи, у которых дедлайна нет вовсе. Никаким диапазоном «поле пустое» не выразить, поэтому это отдельный параметр, а не магическое значение диапазона.
Поскольку «нет дедлайна» и «дедлайн в диапазоне» взаимоисключающи, сочетание due_date=none с любой границей вернёт 400 validation_error.
Какие ошибки ожидать
Заголовок раздела «Какие ошибки ожидать»- Некорректное значение (неизвестный приоритет, кривой формат id, не-дата) →
400 validation_error. - Корректный id, которому ничего не соответствует (тег из чужого workspace, удалённый статус) → не ошибка: просто не совпадёт ни одна задача, вернётся пустая страница.
- Исключение —
project_id: проект вне доступа вашего ключа →404 not_found_error.