Contract
Versioned general terms (CGC) and their acceptance
Get the family CGC
The version in force, or the one named by `version`.
Get the teacher CGC
The version in force, or the one named by `version`.
List the published versions of a CGC
Includes past versions and a version published but not yet in force (`status: upcoming`).
Download a CGC version as PDF
Download a CGC version as PDF
Download the side-by-side comparison of two CGC versions as PDF
Download the side-by-side comparison of two CGC versions as PDF
Which CGC version the current user must accept
While `must_accept` is true every write request (POST/PUT/PATCH/DELETE) outside the auth and contract endpoints is refused with 403. `upcoming` is a version already published but not yet in force: it can be accepted early, and during its notice period the frontend should show it with the diff PDF.
Accept a CGC version
Records the acceptance with the text's hash, the clauses specifically approved, IP and user agent. Idempotent per version.