Skip to content
WorkRoad home
REST API

List study blocks

GET
/study-blocks

Study time the user planned on their calendar, by start time, for a range of days in their time zone (today and the next 6 by default, at most 62 days).

Required scopes: schedule:view

Authorization

headerAuthorizationBearer <token>

Query Parameters

from?string

First day (YYYY-MM-DD) in the user's time zone. Defaults to today. At most 62 days before to.

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
Formatdate
to?string

Last day (YYYY-MM-DD), inclusive. Defaults to 6 days after from.

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
Formatdate

Response Body

OK

application/json
  1. response
data*array<>
Example Request
curl -X GET 'https://workroad.app/api/v1/study-blocks' \  -H 'Authorization: Bearer $WORKROAD_API_KEY'
Example Response
{  "data": [    {      "id": "5a4b3c2d-1e0f-4a9b-8c7d-6e5f4a3b2c1d",      "title": "Spanish verbs",      "startsAt": "2026-02-02T17:00:00.000Z",      "endsAt": "2026-02-02T17:45:00.000Z",      "date": "2026-02-02",      "timeZone": "Europe/London",      "subjectId": "5f0c1d2e-3a4b-4c5d-8e6f-7a8b9c0d1e2f",      "taskId": null,      "setId": "7e6d5c4b-3a2f-4e1d-8c0b-9a8f7e6d5c4b",      "createdAt": "2026-01-15T09:30:00.000Z",      "updatedAt": "2026-02-01T12:00:00.000Z"    }  ]}