---
title: "Fetch one quiz"
method: GET
path: "/quizzes/{id}"
tags: ["Quizzes"]
---

# Fetch one quiz

`GET /quizzes/{id}`

## Request

- Base URL: `https://quizgen.dev/api/v1`
- URL: `https://quizgen.dev/api/v1/quizzes/{id}`
- Auth: HTTP bearer

Fetches one quiz including its full `definition`.

## Response `200`

The quiz and its definition.

- QuizDetail
  - `id` string
  - `slug` string
  - `title` string
  - `status` string
  - `definition_version` integer
  - `response_count` integer
  - `definition` QuizDefinition: A quiz/form definition (`schema_version` 1). Generated from the same validator the API enforces; the canonical JSON Schema is also at https://quizgen.dev/schema/v1.json.
    - `schema_version` 1, required
    - `kind` 'quiz' | 'survey' | 'form' | 'email_capture' | 'registration'
    - `title` string, required
    - `description` string
    - `settings` object
      - `collect_respondent` 'none' | 'email_optional' | 'email_required'
      - `autosave` boolean
      - `show_progress` boolean
      - `one_question_per_page` boolean
      - `show_branding` boolean
      - `close_at` string, date-time, nullable
      - `max_responses` integer, nullable
      - `completion` object
        - `message` string
        - `redirect_url` string, uri, nullable
    - `cover` object
      - `title` string
      - `subtitle` string
      - `button_label` string
      - `image_url` string, uri
    - `theme` object
      - `preset` 'warm' | 'midnight' | 'forest' | 'corporate' | 'playful' | 'mono'
      - `accent` string
      - `mode` 'light' | 'dark' | 'auto'
      - `background` string, nullable
      - `font` string, nullable
      - `logo_url` string, uri, nullable
    - `hidden_fields` string[]
    - `sections` object[], required
      - `key` string, required
      - `title` string
      - `blurb` string
      - `one_per_page` boolean
      - `questions` union[], required
        - union
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'short_text', required
            - `prompt` string, required
            - `placeholder` string
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'long_text', required
            - `prompt` string, required
            - `rows` integer
            - `examples` string[]
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'choice', required
            - `prompt` string, required
            - `options` object[], required
              - …
            - `follow_up` string
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'multi_choice', required
            - `prompt` string, required
            - `options` object[], required
              - …
            - `min` integer
            - `max` integer
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'scale', required
            - `prompt` string, required
            - `min` integer
            - `max` integer
            - `min_label` string
            - `max_label` string
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'email', required
            - `prompt` string, required
            - `placeholder` string
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'number', required
            - `prompt` string, required
            - `min` number
            - `max` number
            - `unit` string
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'date', required
            - `prompt` string, required
            - `min` string
            - `max` string
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'time', required
            - `prompt` string, required
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'phone', required
            - `prompt` string, required
            - `placeholder` string
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'url', required
            - `prompt` string, required
            - `placeholder` string
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'yes_no', required
            - `prompt` string, required
            - `yes_label` string
            - `no_label` string
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'consent', required
            - `prompt` string, required
            - `terms` object
              - …
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'signature', required
            - `prompt` string, required
            - `terms` object
              - …
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'rating', required
            - `prompt` string, required
            - `max` integer
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'slider', required
            - `prompt` string, required
            - `min` number
            - `max` number
            - `step` number
            - `min_label` string
            - `max_label` string
            - `unit` string
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'payment', required
            - `prompt` string, required
            - `amount_cents` integer
            - `price_options` object[]
              - …
            - `currency` string
            - `button_label` string
          - object
            - `id` string, required
            - `required` boolean
            - `help` string
            - `show_if` object
              - …
            - `type` 'file_upload', required
            - `prompt` string, required
            - `max_files` integer
            - `accept` string[]
          - object
            - `id` string, required
            - `show_if` object
              - …
            - `type` 'statement', required
            - `title` string, required
            - `body` string[], required
    - `outcomes` object, nullable
      - `method` 'points', required
      - `points` object, required
      - `buckets` object[], required
        - `key` string, required
        - `min` number
        - `max` number
        - `title` string, required
        - `body` string
        - `redirect_url` string, uri, nullable

## Other responses

- `401`: Missing or invalid API key.
- `404`: No such quiz (or not yours).

---

[API](https://skmtc.dev/quizgen/apis/quizgen-api.md) · [All operations](https://skmtc.dev/quizgen/apis/quizgen-api/llms.txt) · [OpenAPI document](https://skmtc.dev/quizgen/apis/quizgen-api/revisions/100cf9a83300?raw)
