# Story 2.3: Exam Summary Read API

key: 2-3-exam-summary-read-api
status: drafted
phase: backend-planning
note: Non-implementasi — kontrak read-only ringkasan ujian.

## Ringkasan
Endpoint read-only untuk ringkasan hasil ujian.

## Scope Backend
- Fields: totalScore, duration, perQuestion [{id, score}], startedAt, endedAt
- Access: by sessionId

## Acceptance Gate
- Format ringkasan disetujui
- Akses kontrol diverifikasi

## Kontrak (Outline)
- Route: GET /api/exam-session/{sessionId}/summary
- Response: 200
```
{ "sessionId":"es1", "totalScore":85, "duration":1800, "perQuestion":[{"id":"q1","score":5}] }
```