Synthetic contract sandbox
Wire your client against stable fixtures.
These public, read-only fixtures use the exact approved post-gate response shapes. They contain no tenant data, ignore Authorization headers, never call Platform3, and are not evidence that production report routes or upstream gates are released.
Sandbox boundary: only the request shapes below resolve. The candidate-list
cursor selects its terminating second fixture page, while a testKind other than mastery_gate returns an empty terminal page to demonstrate server-enforced filtering. Other query parameters, the materialize body, and headers are accepted for client-shape testing but do not select data or trigger writes. Use this surface to prove request construction, parsing, rendering, branching, filtering, and cursor termination—not auth, tenancy, idempotency, freshness, or upstream integration.
POST
/v1/attempt-reports:materializeSandbox-only operation + summary fixture
GET/v1/attempt-reports/att_7F3k9?view=evidenceAttempt + evidence fixture
GET/v1/attempt-reports/att_diag_8K2m?view=evidenceAdaptive scale + mastered/not-yet/gap fixture
GET/v1/candidates/student_1042/attempt-reportsCursor page fixture
GET/v1/attempt-reports/att_7F3k9/readinessSTAAR not-ready fixture for the failed gate
GET/v1/forms/qti_form_math5_b/equivalenceParallel-form fixture