Quiz
A request or response body; the type column links to the schemas it refers to.
Quiz
| Field | Type | Required | Description |
|---|---|---|---|
| id | string (uuid) | yes | — |
| owner_organization_id | string (uuid) | yes | — |
| owner_department_id | string (uuid) | null | yes | Null when the organization itself owns the quiz. |
| slug | string | yes | — |
| name | string | yes | — |
| description | string | null | yes | — |
| footer_markdown | string | null | yes | Markdown rendered beneath the last question of a sitting, above the submit button; null shows nothing. |
| status | string | yes | Draft quizzes are invisible to assignees; published ones are takeable. one of "draft" | "published" |
| 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 | null | yes | — |
| 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 | — |
| max_attempts | integer | null | yes | Null means unlimited attempts. |
| show_results_immediately | boolean | yes | Whether a taker sees score and pass/fail right after submitting. |
| show_correct_answers | boolean | yes | Whether answer review (your answer vs. correct) is ever shown to takers. |
| results_released_at | string (date-time) | null | yes | Manual release stamp for held-back results. An attempt's results are visible to its taker when show_results_immediately, once the sitting it was sat in has closed, or once this is set. |
| archived_at | string (date-time) | null | yes | When set, the record is retired; it stays readable but should not grow. |
| created_at | string (date-time) | yes | — |
{
"id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"owner_organization_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"owner_department_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"slug": "string",
"name": "string",
"description": "string",
"footer_markdown": "string",
"status": "draft",
"delivery_kind": "live",
"time_limit_seconds": 0,
"selection_mode": "fixed",
"pass_percentage": 0,
"max_attempts": 0,
"show_results_immediately": true,
"show_correct_answers": true,
"results_released_at": "2026-01-01T00:00:00.000Z",
"archived_at": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z"
}