Skip to content
WorkRoad home
REST API

Update a study block

PATCH
/study-blocks/{studyBlockId}

Moves, renames or relinks a planned block. Fields you leave out keep their value, and the whole block is checked again as if it were new, so a block already in the past can't be edited.

Required scopes: schedule:update

Authorization

headerAuthorizationBearer <token>

Path Parameters

studyBlockId*string

Study block id, scoped to the key's user.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Request Body

application/json
  1. body

Send only the fields to change. The block is checked again as a whole.

title?string

What the user studies, 1-120 characters.

Length1 <= length <= 120
startsAt?string

New start, in the future. ISO timestamp with Z or an offset, such as 2026-10-21T16:00:00+01:00.

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])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
Formatdate-time
endsAt?string

New end. ISO timestamp with Z or an offset, such as 2026-10-21T16:00:00+01:00.

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])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
Formatdate-time
subjectId?|

The subject studied. Null clears it.

taskId?|

The task this block works on. The block must end by the task's due day. Null clears it.

setId?|

The study set to practise in the block. Null clears it.

Response Body

OK

application/json
  1. response
data*
Example Request
curl -X PATCH 'https://workroad.app/api/v1/study-blocks/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Authorization: Bearer $WORKROAD_API_KEY' \  -H 'Content-Type: application/json' \  -d '{}'
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"  }}