API-referentie
Alles wat jouw AI — of jij — kunt aanroepen: schoolcurricula, de quiz zelf, plaatjes, pdf’s en een seintje dat er nog gewerkt wordt.
Zo meld je een verzoek aan
Quiz-aanroepen hebben Authorization: Bearer plus de quizsleutel nodig. Stuur If-Match met de huidige versie, zodat twee opslagacties elkaar niet overschrijven. Deze antwoorden worden nooit in de cache gezet.
Basis-URL
https://quiz.ai/api/v1Zo meld je een verzoek aan
Authorization: Bearer <quiz-scoped-key>API-kaart
/api/v1Een kaart van de API en de links die volgen.
/api/v1/openapi.jsonHet complete OpenAPI 3.1-schema — handig voor tools die het kunnen lezen.
Schoolcurricula
/api/v1/curriculaLijst de schoolcurricula die we kennen.
/api/v1/curricula/{curriculumId}Lees de details van één curriculum.
/api/v1/curricula/{curriculumId}/objectives?subject=math&grade=5&limit=100&offset=0Zoek leerdoelen van een curriculum op vak en leerjaar.
De quiz
/api/v1/targetZie voor welke quiz deze sleutel mag schrijven.
/api/v1/quizzes/{quizId}Lees de huidige quiz en het versienummer.
/api/v1/quizzes/{quizId}Vervang de hele quiz in één opslag. Stuur If-Match zodat je nieuwer werk niet overschrijft.
/api/v1/quizzes/{quizId}/publishCheck de quiz en maak hem openbaar. Stuur If-Match zodat je nieuwer werk niet overschrijft.
Plaatjes
/api/v1/quizzes/{quizId}/imagesUpload een PNG, JPEG, GIF of WebP. Wij slaan een schoon, statisch WebP op.
/api/v1/quizzes/{quizId}/images/templatesTeken een vraagtplaatje uit een sjabloon, of bekijk een voorbeeld als PNG of SVG.
/api/v1/quizzes/{quizId}/images/{imageId}Download een opgeslagen plaatje. Range-verzoeken worden ondersteund.
/api/v1/quizzes/{quizId}/images/{imageId}Verwijder een plaatje dat geen vraag meer gebruikt.
Pdf’s en activiteit
/api/v1/quizzes/{quizId}/activityStart, ververs of stop het 90 seconden durende “nog aan het werk”-signaal.
/api/v1/quizzes/{quizId}/sheet.pdf?names=Alice,Bob&class=5B&key=0Download een printbaar antwoordblad. Je kunt namen, een klas en een antwoordsleutel toevoegen.
Sla de hele quiz op
Jouw AI stuurt titel, beschrijving, taal en elke vraag in één keer. Dezelfde geldige quiz twee keer sturen is veilig.
PUT /api/v1/quizzes/qz_7KF2M9qTx3aB
Authorization: Bearer <quiz-scoped-key>
Content-Type: application/json
If-Match: "0"
{
"title": "A quick tour of the Solar System",
"description": "Ten friendly questions for curious adults.",
"language": "en-gb",
"questions": [
{
"prompt": "Which planet has the shortest year?",
"choices": ["Mercury", "Venus", "Earth", "Mars"],
"correctChoiceIndex": 0,
"explanation": "Mercury orbits the Sun in about 88 Earth days."
}
]
}Regels voor vragen
- Elke vraag heeft een duidelijke formulering en twee tot zes ingevulde keuzes nodig.
- Grenzen: titel 140 tekens, beschrijving 1.000, 1–100 vragen, formulering 500, elke keuze 240, uitleg 1.000.
- correctChoiceIndex is de nulgebaseerde index van de juiste keuze.
- De volgorde van de vragen is de volgorde in de lijst — de eerste is vraag 1.
- Stuur het nieuwste versienummer in de If-Match-header zodat twee opslagacties elkaar niet in de weg zitten.
Publiceer als het klopt
Publiceren checkt de quiz nog eens en geeft je een stabiele openbare link. Mist er iets, herstel het, sla opnieuw op en publiceer.
POST /api/v1/quizzes/qz_7KF2M9qTx3aB/publish
Authorization: Bearer <quiz-scoped-key>
If-Match: "1"