Top level can be an array of questions, or an object with a questions array plus optional title, passingScore (default 68), and timeLimitMinutes (default 105).
{
"title": "My Set",
"passingScore": 68,
"timeLimitMinutes": 105,
"questions": [
{
"topic": "Governor Limits", // optional, powers the breakdown
"type": "single", // "single" or "multi" (auto-detected if omitted)
"question": "Max SOQL queries (sync)?",
"options": ["50", "100", "150", "200"],
"answer": "B", // index (1), letter ("B"), ["A","C"], or exact option text
"explanation": "100 sync / 200 async." // optional
}
]
}
Answer accepts 0-based index (1), letter ("B"), multiple (["A","C"] or "AC"), or the exact option text. Question text supports **bold**, `inline code`, and fenced ```code blocks```. Multi-select is scored all-or-nothing, like PD1.