Ir al contenido

Filtrado de tareas

GET /public/v1/tasks devuelve todas las tareas del ámbito (el mismo conjunto que la vista de tabla del proyecto en la aplicación web) y las acota con filtros de query. Esta página muestra cómo se combinan los filtros y ofrece recetas listas para copiar.

Todos los ejemplos asumen:

Terminal window
BASE="https://api.bordio.com/public/v1"
AUTH='Authorization: Bearer brd_sk_live_...'
PROJECT="proj_6594a1b2c3d4e5f6a7b8c9d1"
  • Parámetros distintos → AND. Cada parámetro añadido acota el resultado.
  • Varios valores en un parámetro → OR. Los valores van separados por comas: priority=high,critical coincide con cualquiera de los dos.
  • Los parámetros omitidos no restringen nada — sin filtros se devuelven todas las tareas.
Parámetro Valores Notas
priority CSV de lowest, low, medium, high, critical y/o none none = tareas sin prioridad
task_status_id CSV de ids task_status_… Los ids salen de Definitions
state open | closed Agrupa los estatus por su estado — no hace falta enumerarlos
task_type_id CSV de ids task_type_…
assignee_id CSV de ids user_… y/o none none = tareas sin responsable
due_date_from YYYY-MM-DD o datetime ISO-8601 Límite inferior del rango de fecha límite (inclusive)
due_date_to YYYY-MM-DD o datetime ISO-8601 Límite superior del rango de fecha límite (inclusive)
due_date none Solo tareas sin fecha límite; incompatible con los límites del rango
tag_id CSV de ids tag_… Coinciden las tareas con cualquiera de las etiquetas

El valor especial none coincide con tareas que no tienen responsable:

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&assignee_id=none" -H "$AUTH"

Tareas de una persona concreta — o de nadie

Sección titulada «Tareas de una persona concreta — o de nadie»

none puede mezclarse con ids de usuarios en el mismo CSV; dentro de un parámetro los valores se combinan con OR:

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&assignee_id=user_6594a1b2c3d4e5f6a7b8c9d1,none" -H "$AUTH"

Tareas sin prioridad — o con prioridad baja

Sección titulada «Tareas sin prioridad — o con prioridad baja»

La prioridad es opcional, así que priority acepta el valor especial none para tareas donde no está definida. Como cualquier valor CSV, se combina con OR — «sin prioridad o low» es un solo parámetro:

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&priority=none,low" -H "$AUTH"

Tareas abiertas con prioridad alta o crítica

Sección titulada «Tareas abiertas con prioridad alta o crítica»
Terminal window
curl "$BASE/tasks?project_id=$PROJECT&state=open&priority=high,critical" -H "$AUTH"

state es la forma más sencilla de separar el trabajo abierto del cerrado. Si necesitas estatus concretos («En progreso» pero no «Nueva»), usa task_status_id con ids de los endpoints de definitions.

Ambos límites son inclusivos; los valores de solo fecha se expanden al inicio / fin de ese día (UTC):

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&due_date_from=2026-07-01&due_date_to=2026-07-31" -H "$AUTH"

También puedes pasar un solo límite — por ejemplo, todo lo que vence desde hoy (due_date_from solo), o una vista de «vencidas» — tareas abiertas cuyo plazo ya pasó:

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&state=open&due_date_to=2026-07-17" -H "$AUTH"

Un rango nunca puede coincidir con una tarea sin fecha límite, por eso es un filtro aparte:

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&due_date=none" -H "$AUTH"

Tareas con cualquiera de las etiquetas dadas

Sección titulada «Tareas con cualquiera de las etiquetas dadas»
Terminal window
curl "$BASE/tasks?project_id=$PROJECT&tag_id=tag_65dcc9c66f2e4e001ab18859,tag_66446ff2dc01cb59f6cbf7a6" -H "$AUTH"

Abiertas, de prioridad alta, sin responsable, con fecha límite este mes:

Terminal window
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"

Los filtros se componen con la paginación como siempre — limit y cursor se aplican al resultado filtrado (ver Convenciones).

due_date_from / due_date_to / due_date — ¿por qué tres parámetros?

Sección titulada «due_date_from / due_date_to / due_date — ¿por qué tres parámetros?»

Responden a dos preguntas distintas:

  • due_date_from / due_date_to seleccionan tareas cuya fecha límite cae en un rango. Usa un límite solo o ambos.
  • due_date=none selecciona tareas que no tienen fecha límite. Ningún rango puede expresar «el campo está vacío», por eso es un parámetro aparte y no un valor mágico del rango.

Como «sin fecha límite» y «fecha límite en un rango» son mutuamente excluyentes, combinar due_date=none con cualquier límite devuelve 400 validation_error.

  • Un valor mal formado (prioridad desconocida, id con formato inválido, no-fecha) → 400 validation_error.
  • Un id bien formado que no coincide con nada (etiqueta de otro workspace, estatus eliminado) → no es un error: simplemente no coincide ninguna tarea y recibes una página vacía.
  • La excepción es project_id: un proyecto fuera del alcance de tu clave → 404 not_found_error.