Перейти к содержимому

Определения

Определения — это строительные блоки, на которые вы ссылаетесь у задачи или события: её статус, её тип и (для проектов) собственный статус проекта. Вы читаете определение, чтобы получить его id, а затем передаёте этот id при создании или обновлении ресурса — например, task_status_id у задачи или event_type_id у события.

Определения создаются на уровне воркспейса и привязываются к отдельным проектам через настройки проекта в веб-приложении Bordio (не через API). Поэтому существует два среза:

  • Каталог воркспейса — полный набор, определённый в воркспейсе. GET без фильтра.
  • Проектный срез — подмножество, привязанное к одному проекту. GET с ?project_id=proj_....

Определение должно быть доступно в проекте задачи, чтобы его можно было использовать у этой задачи, поэтому проектный срез — это ваш источник истины для того, «что здесь можно установить». Это та же модель привязки, что и у пользовательских полей.

Все четыре живут под /public/v1 и возвращают массив data.

Эндпоинт Форма элемента ?project_id Используется при записи как
GET /task_statuses { id, name, state } task_status_id
GET /task_types { id, name } task_type_id
GET /event_types { id, name } event_type_id
GET /project_statuses { id, name, state } ❌ только на уровне воркспейса (у проектов)

state (у статусов) — это либо open, либо closed.

Terminal window
curl "https://api.bordio.com/public/v1/task_statuses?project_id=proj_6594a1b2c3d4e5f6a7b8c9a0" \
-H "Authorization: Bearer brd_sk_live_..."
{
"data": [
{ "id": "task_status_6594a1b2c3d4e5f6a7b8c9d0", "name": "To do", "state": "open" },
{ "id": "task_status_6594a1b2c3d4e5f6a7b8c9d1", "name": "In progress", "state": "open" },
{ "id": "task_status_6594a1b2c3d4e5f6a7b8c9d2", "name": "Done", "state": "closed" }
]
}
// GET /task_types
{
"data": [
{ "id": "task_type_6594a1b2c3d4e5f6a7b8c9e0", "name": "Bug" },
{ "id": "task_type_6594a1b2c3d4e5f6a7b8c9e1", "name": "Feature" }
]
}

event_types имеет ту же форму, но с id-префиксом event_type_.

Terminal window
curl -X PATCH https://api.bordio.com/public/v1/tasks/task_6594a1b2c3d4e5f6a7b8c9f0 \
-H "Authorization: Bearer brd_sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "task_status_id": "task_status_6594a1b2c3d4e5f6a7b8c9d2" }'
  • Без project_id → полный каталог воркспейса.
  • ?project_id=proj_... → только определения, привязанные к этому проекту.
  • Ключ со scope на проект → всегда ограничен своим собственным проектом: чужой project_id возвращает 404 not_found_error, а без фильтра возвращается подмножество этого проекта.
  • project_statuses доступны только на уровне воркспейса — передача ?project_id возвращает 422 validation_error (invalid_request). Это статусы, в которых может находиться сам проект (каждый со своим state), а не статусы внутри проекта.

Приоритет задачи не является ресурсом определений — это фиксированный набор, который передаётся инлайн в поле задачи priority:

lowest · low · medium · high · critical

Пользовательские поля — это более богатый ресурс, похожий на определения, со своими собственными форматами значений — см. Пользовательские поля.