Example Quizzes
Copy the v1 example closest to the Quiz you want to make. There is no need to work backward from the schema. Every example validates against the Standard and meets the Public catalog profile. Paste one into the import page to try it, or adapt it into your own Quiz.
public-quiz-input-numeric.json
a numeric answer checked with an explicit tolerance.
Download public-quiz-input-numeric.json
{
"schemaVersion": 1,
"id": "network-throughput-numeric-input-example",
"title": "Network Throughput Numeric Example",
"description": "A canonical numeric-input example that uses an explicit tolerance so contributors can see how rounded answers are handled.",
"language": "en",
"tags": ["networking", "basics"],
"questions": [
{
"id": "megabits-to-megabytes",
"title": "A connection is rated at 100 megabits per second. About how many megabytes per second is that before overhead?",
"description": "Type a number only. Small rounding differences should still count as correct.",
"type": "input",
"validation": {
"mode": "numeric",
"acceptedAnswers": [12.5],
"tolerance": 0.2
},
"explanation": "There are 8 bits in a byte, so dividing 100 megabits by 8 gives 12.5 megabytes per second. The tolerance shows how to accept rounded answers such as 12.4 or 12.6 when the teaching goal is the unit conversion rather than strict formatting.",
"references": "[Cloudflare: What is bandwidth?](https://www.cloudflare.com/learning/network-layer/what-is-bandwidth/)"
}
]
}
public-quiz-input-text.json
the minimal text validation object. Matching ignores case and normalizes surrounding and repeated whitespace by default.
Download public-quiz-input-text.json
{
"schemaVersion": 1,
"id": "english-first-conditional-input-example",
"title": "First Conditional Input Example",
"description": "A canonical text-input example. Text mode is case-insensitive, trimmed, and whitespace-collapsed by default, so the minimal validation object needs no flags at all.",
"language": "en",
"tags": ["english", "grammar", "conditionals"],
"questions": [
{
"id": "name-the-conditional",
"title": "What is the grammar name for the pattern 'If it rains, we will stay inside'?",
"description": "Type the standard label used in English-learning materials.",
"type": "input",
"validation": {
"mode": "text",
"acceptedAnswers": ["first conditional", "the first conditional"]
},
"explanation": "This sentence describes a real future possibility, which is why it is called the first conditional. Text mode is forgiving by default, so learners may type extra spaces or different capitalization without changing the result.",
"references": "[British Council: conditionals](https://learnenglish.britishcouncil.org/grammar/english-grammar-reference/conditionals)"
}
]
}
public-quiz-media.json
bare Image filenames on both media surfaces, attribution in a caption, and a YouTube Video with a start time.
Download public-quiz-media.json
{
"schemaVersion": 1,
"id": "cpu-cache-hierarchy-media-example",
"title": "CPU Cache Hierarchy Media Example",
"description": "A canonical public quiz example showing how Images and a Video can support a Question without replacing its text.",
"language": "en",
"tags": ["computer-architecture", "caching", "media"],
"questions": [
{
"id": "l1-cache-miss",
"title": "After an L1 cache miss, where does a CPU look next in this simplified hierarchy?",
"description": "The prompt diagram shows the lookup order from the processor toward slower memory tiers.",
"type": "single-choice",
"images": [
{
"src": "cpu-cache-hierarchy.svg",
"alt": "Simplified hierarchy with the processor connected to L1 cache, then L2 cache, then main memory",
"caption": "Diagram: Quizbun contributors, CC BY 4.0",
"width": 720,
"height": 480
},
{
"src": "cpu-cache-miss-path.svg",
"alt": "Arrows tracing an L1 cache miss to L2 cache before main memory",
"caption": "Answer path: Quizbun contributors, CC BY 4.0",
"placement": "explanation",
"width": 720,
"height": 480
}
],
"videos": [
{
"provider": "youtube",
"id": "SAk-6gVkio0",
"start": 90,
"placement": "explanation"
}
],
"options": [
{
"text": "The L2 cache",
"isCorrect": true
},
{
"text": "Main memory, skipping every other cache",
"isCorrect": false
},
{
"text": "Permanent storage",
"isCorrect": false
},
{
"text": "A CPU register",
"isCorrect": false
}
],
"explanation": "In the simplified hierarchy, the processor checks L1 first and then L2. It reaches main memory only if the requested data is absent from both cache levels. The explanation Image makes that miss path explicit, while the Video gives the broader reason CPUs use several cache levels.",
"references": "[Computerphile: How CPU Memory & Caches Work](https://www.youtube.com/watch?v=SAk-6gVkio0)"
}
]
}
public-quiz-multiple-choice.json
a Question with several correct Options. The learner must select every correct Option and no incorrect ones.
Download public-quiz-multiple-choice.json
{
"schemaVersion": 1,
"id": "http-safe-methods-multiple-choice-example",
"title": "HTTP Safe Methods Example",
"description": "A canonical multi-select example that relies on the all-or-nothing correctness model, so learners must choose every correct option and avoid the unsafe ones.",
"language": "en",
"tags": ["http", "protocol", "basics"],
"questions": [
{
"id": "safe-methods",
"title": "Which HTTP methods are defined as safe?",
"description": "Select every method whose semantics are read-only from the client's point of view.",
"type": "multiple-choice",
"options": [
{
"text": "`GET`",
"isCorrect": true
},
{
"text": "`HEAD`",
"isCorrect": true
},
{
"text": "`POST`",
"isCorrect": false
},
{
"text": "`DELETE`",
"isCorrect": false
}
],
"explanation": "`GET` and `HEAD` are safe because their semantics are defined for retrieval rather than state change. A server may still log or cache the request, but the client is not asking it to mutate application data.",
"references": "[RFC 9110: Safe Methods](https://www.rfc-editor.org/rfc/rfc9110.html#section-9.2.1)"
}
]
}
public-quiz-single-choice.json
the smallest single-choice Quiz, with stable Quiz and Question IDs, unlabeled Options, Explanation-first feedback, and optional References.
Download public-quiz-single-choice.json
{
"schemaVersion": 1,
"id": "javascript-falsy-single-choice-example",
"title": "JavaScript Falsy Value Example",
"description": "A minimal public quiz example that shows the simplest single-choice contribution path with explanation-first feedback.",
"language": "en",
"tags": ["javascript", "basics", "types"],
"questions": [
{
"id": "falsy-zero",
"title": "Which value is falsy in JavaScript?",
"description": "Choose the value that becomes false in a boolean context without any conversion helper.",
"type": "single-choice",
"options": [
{
"text": "`[]`",
"isCorrect": false
},
{
"text": "`0`",
"isCorrect": true
},
{
"text": "`{}`",
"isCorrect": false
},
{
"text": "`\"0\"`",
"isCorrect": false
}
],
"explanation": "`0` is one of JavaScript's built-in falsy values. Arrays, objects, and non-empty strings are all truthy, so this question teaches learners to separate literal appearance from boolean behavior.",
"references": "[MDN: Falsy](https://developer.mozilla.org/en-US/docs/Glossary/Falsy)"
}
]
}