REST API
Get a practice test attempt
The attempt's questions, the user's answers and, once submitted, the correct answers and a verdict for each question. While the attempt is open no question has an answer or explanation. After a submit, poll this until phase is no longer grading.
Required scopes: tests:view or tests:attempt
AuthorizationBearer <token>
In: header
Path Parameters
attemptId*string
Practice test attempt 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)$Format
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/attempts/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "data": { "id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b", "testId": "6e5d4c3b-2a19-4f08-8e7d-6c5b4a392817", "phase": "open", "startedAt": "2026-01-15T09:30:00.000Z", "deadlineAt": "2026-01-15T09:40:00.000Z", "expired": false, "finishedAt": null, "score": null, "gradingStatus": "not_required", "questions": [ { "kind": "multiple-choice", "prompt": "Which organelle makes ATP?", "choices": [ "Nucleus", "Mitochondrion", "Ribosome" ], "difficulty": "recall", "answer": null, "explanation": null }, { "kind": "short-answer", "prompt": "Why do cells need a membrane?", "choices": null, "difficulty": "understanding", "answer": null, "explanation": null } ], "answers": [ "Mitochondrion", null ], "perQuestion": [] }}