Skip to content
WorkRoad home
REST API

Get today's study overview

GET
/today

Answers "what should I study now?" in one call. Returns the flashcards due now by subject and set, today's goal, streak and new-card limit, overdue and upcoming tasks, today's lessons and planned study blocks, and suggestions: what to do next, most useful first, each naming the tool and arguments that act on it. Each section needs its own scope (activity:view, tasks:view, schedule:view) and is null without it. Lessons from external calendars are read live and can take a few seconds.

Required scopes: activity:view or tasks:view or schedule:view

Authorization

headerAuthorizationBearer <token>

Response Body

OK

application/json
  1. response
data*
Example Request
curl -X GET 'https://workroad.app/api/v1/today' \  -H 'Authorization: Bearer $WORKROAD_API_KEY'
Example Response
{  "data": {    "date": "2026-02-02",    "timeZone": "Europe/London",    "serverTime": "2026-02-02T08:15:00.000Z",    "study": {      "dueNow": 12,      "dueLaterToday": 3,      "newCards": 40,      "goal": {        "kind": "cards",        "target": 20,        "progress": 4,        "reached": false,        "streakDays": 6,        "longestStreakDays": 14      },      "limits": {        "newRemaining": 46,        "reviewsRemaining": null      },      "studyDayEndsAt": "2026-02-03T04:00:00.000Z",      "subjects": [        {          "subjectId": "5f0c1d2e-3a4b-4c5d-8e6f-7a8b9c0d1e2f",          "name": "Chemistry",          "dueNow": 12,          "overdue": 2,          "dueLaterToday": 3,          "newCards": 40        }      ],      "sets": [        {          "setId": "7e6d5c4b-3a2f-4e1d-8c0b-9a8f7e6d5c4b",          "name": "Spanish verbs",          "subjectId": "5f0c1d2e-3a4b-4c5d-8e6f-7a8b9c0d1e2f",          "dueNow": 12        }      ]    },    "tasks": {      "overdue": [],      "overdueTotal": 0,      "dueSoon": [        {          "id": "4d3c2b1a-0f9e-4d8c-9b7a-6f5e4d3c2b1a",          "name": "Finish lab report",          "type": "Generic",          "subjectId": "5f0c1d2e-3a4b-4c5d-8e6f-7a8b9c0d1e2f",          "subjectName": "Chemistry",          "dueDate": "2026-02-10T17:00:00.000Z",          "dueDay": "2026-02-10",          "exam": false        }      ],      "dueSoonTotal": 1    },    "lessons": {      "occurrences": [        {          "scheduleId": "4d3c2b1a-0f9e-4d8c-8b7a-6f5e4d3c2b1a",          "date": "2026-02-02",          "endDate": null,          "time": {            "kind": "timed",            "startMinute": 540,            "endMinute": 600          },          "timeZone": null,          "title": "Biology",          "subtitle": "S2 · Dr Patel"        }      ],      "issues": []    },    "studyBlocks": [],    "suggestions": [      {        "kind": "practice",        "message": "12 flashcards are due now, most of them in Chemistry.",        "tool": "startPracticeSession",        "arguments": {          "subjectId": "5f0c1d2e-3a4b-4c5d-8e6f-7a8b9c0d1e2f"        }      },      {        "kind": "lesson",        "message": "Next lesson: Biology at 09:00.",        "tool": null,        "arguments": {}      }    ]  }}