Ir al contenido

Definiciones

Las definiciones son los bloques de construcción que referencias en una tarea o evento: su estado, su tipo y (para proyectos) el propio estado del proyecto. Lees una definición para obtener su id y luego pasas ese id cuando creas o actualizas un recurso — p. ej. task_status_id en una tarea, event_type_id en un evento.

Las definiciones se crean a nivel del espacio de trabajo y se vinculan a proyectos individuales mediante la configuración del proyecto en la aplicación web de Bordio (no a través de la API). Por lo tanto, hay dos vistas:

  • Catálogo del espacio de trabajo — el conjunto completo definido en el espacio de trabajo. GET sin filtro.
  • Vista del proyecto — el subconjunto vinculado a un proyecto. GET con ?project_id=proj_....

Una definición debe estar disponible en el proyecto de una tarea para poder usarse en esa tarea, así que la vista del proyecto es tu fuente de verdad para “qué puedo establecer aquí”. Este es el mismo modelo de vinculación que los campos personalizados.

Los cuatro viven bajo /public/v1 y devuelven un array data.

Endpoint Forma del elemento ?project_id Usado al escribir como
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 } ❌ solo espacio de trabajo (en proyectos)

state (en los estados) es open o 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 tiene la misma forma, con ids 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" }'
  • Sin project_id → el catálogo completo del espacio de trabajo.
  • ?project_id=proj_... → solo las definiciones vinculadas a ese proyecto.
  • Clave con alcance de proyecto → siempre limitada a su propio proyecto: un project_id ajeno devuelve 404 not_found_error, y sin filtro devuelve el subconjunto de ese proyecto.
  • project_statuses es solo del espacio de trabajo — pasar ?project_id devuelve 422 validation_error (invalid_request). Estos son los estados en los que un proyecto mismo puede estar (cada uno con state), no los estados dentro de un proyecto.

La prioridad de una tarea no es un recurso de definiciones — es un conjunto fijo incluido en línea en el campo priority de la tarea:

lowest · low · medium · high · critical

Los campos personalizados son un recurso más rico similar a las definiciones, con sus propios formatos de valor — consulta Campos personalizados.