Skip to content
REST API

Get a practice test

GET
/tests/{testId}

The test's settings, how many questions of each kind it has, and its recent attempts. The questions themselves are read through an attempt. While the test is generating, generating lists the questions written so far without their answers.

Required scopes: tests:view

Authorization

AuthorizationBearer <token>

In: header

Path Parameters

testId*string

Practice test 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

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/tests/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "data": {    "id": "6e5d4c3b-2a19-4f08-8e7d-6c5b4a392817",    "name": "Cell biology quiz",    "assisted": false,    "status": "ready",    "error": null,    "createdAt": "2026-01-15T09:30:00.000Z",    "generationJobId": "7d6c5b4a-3f2e-4d1c-8b0a-9f8e7d6c5b4a",    "questionsVersion": 1,    "questionCount": 2,    "kindCounts": [      {        "kind": "multiple-choice",        "count": 1      },      {        "kind": "short-answer",        "count": 1      }    ],    "generating": null,    "requestedLength": 2,    "kinds": [      "MCQ",      "SHORT"    ],    "timerSecs": 600,    "modelTier": "scholar",    "sourceSetIds": [],    "sourceNoteIds": [      "2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e"    ],    "attempts": [      {        "id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",        "assisted": false,        "score": {          "num": 1,          "den": 2        },        "gradingStatus": "graded",        "questionsVersion": 1,        "startedAt": "2026-01-15T09:30:00.000Z",        "finishedAt": "2026-02-01T12:00:00.000Z",        "gradedAt": "2026-02-01T12:00:00.000Z"      }    ]  }}