The Dashboard endpoint is MindFlow’s single-call aggregation surface. Rather than requiring the frontend to chain multiple requests for tasks, micro-objectives, and fatigue history,Documentation Index
Fetch the complete documentation index at: https://mintlify.com/J0S3-LEON/pf_pruebasAseguramientoCalid_SDD/llms.txt
Use this file to discover all available pages before exploring further.
GET /api/v1/dashboard fetches all three datasets in a single parallel database query and returns them under a unified response envelope. Tasks are sorted by deadline ascending, micro-objectives by creation time, and fatigue records are ordered by most recent first. This keeps the initial page load fast and makes polling straightforward.
All data returned is strictly scoped to the authenticated student. No task, micro-objective, or fatigue record from any other account will ever appear in the response — the queries are filtered by
studentId extracted from the JWT at the service layer.GET /api/v1/dashboard
Returns the authenticated student’s aggregated dashboard data: active tasks (with their nested active micro-objectives) sorted by deadline ascending, and the student’s last 30 fatigue scores ordered byrecordedAtUtc descending (most recent first).
Authentication: JWT Bearer
Request Body: None
Response — 200 OK
Active (non-deleted) tasks belonging to the authenticated student, sorted ascending by
deadline. Each task object includes a nested microObjectives array containing only the task’s active micro-objectives (is_audit_only = false), ordered by createdAt ascending.Flat array of all active micro-objectives across all tasks, produced by flattening the per-task
microObjectives arrays. Useful for rendering a combined pending-work view.Up to 30 fatigue records for the student, ordered by
recordedAtUtc descending (most recent first). Contains one entry per fatigue score submission. If the student has never submitted a score, this array is empty.Always
null on success.200Example Response
Empty State
If the student has no active sessions and has never submitted a fatigue score,fatigueHistory is returned as an empty array. Tasks and micro-objectives follow the same pattern — an empty array is returned, never null.
Empty state example
Ordering and Filtering Rules
| Field | Rule |
|---|---|
tasks | Sorted ascending by deadline (nearest deadline first). Soft-deleted tasks (isDeleted = true) are excluded. |
tasks[].microObjectives | Sorted ascending by createdAt. Micro-objectives with isAuditOnly = true are excluded. |
microObjectives | Flat projection of all nested microObjectives arrays; inherits the same isAuditOnly filter. |
fatigueHistory | Up to 30 records, ordered descending by recordedAtUtc as stored; contains all scores regardless of the associated session’s current isActive state. |
Errors
| Status | Condition |
|---|---|
401 Unauthorized | JWT is missing or expired. |