CreateQuizRequest
A request or response body; the type column links to the schemas it refers to.
CreateQuizRequest
| Field | Type | Required | Description |
|---|---|---|---|
| owner_organization_id | string (uuid) | yes | Organization the quiz belongs to. Always required. |
| owner_department_id | string (uuid) | no | Omit for a quiz owned by the organization directly. |
| slug | string | yes | Unique within the organization. Slugs are lowercase letters and digits in words separated by single hyphens, like fire-safety-basics. 1–100 characters · matches ^[a-z0-9]+(-[a-z0-9]+)*$ |
| name | string | yes | 1–200 characters |
| description | string | no | Omit or send empty for no description. at most 2000 characters |
| footer_markdown | string | no | Omit or send empty for no closing note. at most 50000 characters |
| delivery_kind | string | yes | live: takeable only while one of the quiz's scheduled sittings (scheduled_quizzes) is open — the same quiz can be scheduled year after year. async: self-scheduled, takeable whenever the quiz is published; sittings do not apply. one of "live" | "async" |
| time_limit_seconds | integer | no | Per-attempt time limit in seconds; a live sitting's close still caps it. |
| selection_mode | string | yes | fixed: every question in authored order, the same for everyone. shuffle: every question, order and options shuffled per attempt. random_draw: each bank link contributes draw_count randomly chosen questions (all when null), shuffled. one of "fixed" | "shuffle" | "random_draw" |
| pass_percentage | number | yes | Score required to pass, as a percentage of the questions presented. minimum 0 · maximum 100 |
| max_attempts | integer | no | Omit for unlimited attempts. |
| show_results_immediately | boolean | no | Defaults to true. |
| show_correct_answers | boolean | no | Defaults to false. |
| bank_links | array of object | no | Question banks to link from the start, in presentation order; each must belong to the owning organization. Omit to link banks later via PUT /quizzes/{quiz_id}/banks. at most 50 items |
{
"owner_organization_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"owner_department_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"slug": "annual-fire-safety",
"name": "Annual fire safety quiz",
"description": "string",
"footer_markdown": "**Before you submit:** review every answer. Submission cannot be undone.",
"delivery_kind": "live",
"time_limit_seconds": 1200,
"selection_mode": "fixed",
"pass_percentage": 80,
"max_attempts": 3,
"show_results_immediately": true,
"show_correct_answers": true,
"bank_links": [
{
"question_bank_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"draw_count": 0
}
]
}