Skip to content
WorkRoad home
REST API

Get a practice session's next cards

GET
/practice-sessions/{sessionId}

Returns the cards still waiting for an answer. When none are left, reading the session refills it with up to 30 more, decided by the server clock, and drops cards that were reviewed or suspended elsewhere since. finished: true means nothing is due and today's new cards are spent; read it again at nextDueAt. Reading never records an answer, so it is safe to repeat.

Required scopes: activity:view and sets:view

Authorization

headerAuthorizationBearer <token>

Path Parameters

sessionId*string

Practice session id from startPracticeSession, 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

Response Body

OK

application/json
  1. response
data*
Example Request
curl -X GET 'https://workroad.app/api/v1/practice-sessions/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Authorization: Bearer $WORKROAD_API_KEY'
Example Response
{  "data": {    "id": "8b7a6f5e-4d3c-4b2a-9f1e-0d9c8b7a6f5e",    "cram": false,    "setIds": [],    "subjectId": "5f0c1d2e-3a4b-4c5d-8e6f-7a8b9c0d1e2f",    "createdAt": "2026-02-01T12:00:00.000Z",    "expiresAt": "2026-02-08T12:00:00.000Z",    "cards": [      {        "itemId": "1e2d3c4b-5a69-4788-9a0b-1c2d3e4f5a6b",        "cardId": "3e2d1c0b-9a8f-4e7d-8c6b-5a4f3e2d1c0b",        "termId": "2a1b0c9d-8e7f-4a6b-9c5d-4e3f2a1b0c9d",        "setId": "7e6d5c4b-3a2f-4e1d-8c0b-9a8f7e6d5c4b",        "setName": "Spanish verbs",        "subjectId": "5f0c1d2e-3a4b-4c5d-8e6f-7a8b9c0d1e2f",        "activity": "flashcards",        "term": "tener (yo)",        "definition": "tuve",        "hints": [          "irregular stem tuv-"        ],        "imageUrl": null,        "queue": "review",        "due": "2026-01-15T09:30:00.000Z"      }    ],    "answeredCount": 0,    "finished": false,    "nextDueAt": null,    "undoableItemId": null,    "serverTime": "2026-02-01T12:00:00.000Z"  }}