---
title: "List questions"
method: GET
path: "/v2/questions/"
tags: ["Questions"]
---

# List questions

`GET /v2/questions/`

List live questions for the authenticated organization.

**Required OAuth scope:** `question-banks:read` or `quizzes:read`

## Query parameters

- `filter[quiz_id]` string, nullable — Obfuscated parent quiz ID. Exact match.
- `filter[question_bank_id]` string, nullable — Obfuscated parent question bank ID. Exact match.

## Response `200`

OK

- PaginatedListResponseQuestionResource
  - `data` QuestionResource[], required — The resources on this page, in cursor order.
    - `type` 'questions' — Always "questions".
    - `id` string, required — Opaque question ID. Use in URL paths.
    - `attributes` QuestionAttributes, required — Attributes of a question resource object. Fields mirror the ``quiz.models.Question`` columns exposed on the public API. ``organization`` and internal primary keys are deliberately not exposed — ``id`` (obfuscated) and ``external_id`` (UUID5) are the only identifiers a client sees. A question is homed under exactly one parent: ``quiz_id`` XOR ``question_bank_id``. Only the parent that is actually set is populated; the other is ``None``. The single-resource GET (``exclude_none=True``) omits the unset id; the list GET does not set ``exclude_none`` (it would strip the null pagination ``links`` keys), so the unset id serializes as ``null`` there.
      - `question_html` string, required — HTML body of the question prompt.
      - `order` integer, required — Ordering value within the parent quiz or question bank.
      - `question_type` string, required — Question type code. One of MULTIPLE_CHOICE, MULTIPLE_ANSWER, FILL_IN_THE_BLANK, FREEFORM, CONTENT_UPLOAD, LINEAR_SCALE.
      - `case_sensitive` boolean, required — If true, student responses must match the answer's case to be correct.
      - `requires_manual_grading` boolean, required — If true, responses to this question must be graded by a dashboard user.
      - `is_graded` boolean, required — Whether the question counts toward the quiz score.
      - `is_optional` boolean, required — Whether the question may be skipped.
      - `correct_answer_feedback_html` string — HTML feedback shown when the student answers correctly.
      - `incorrect_answer_feedback_html` string — HTML feedback shown when the student answers incorrectly.
      - `answer_feedback_html` string — HTML feedback shown regardless of correctness.
      - `quiz_id` string, nullable — Obfuscated ID of the parent quiz, when the question is homed under a quiz.
      - `question_bank_id` string, nullable — Obfuscated ID of the parent question bank, when the question is homed under a bank.
      - `external_id` string, required — Stable UUID5 for cross-system correlation.
      - `created_at` string, date-time, required — Timestamp when the question was created.
      - `modified_at` string, date-time, required — Timestamp when the question was last modified.
      - `answers` AnswerObject[] — The question's answer choices, ordered by ``order`` ascending. Excludes soft-deleted answers.
        - `id` string, required — Opaque answer ID.
        - `answer_text` string, required — The answer choice text.
        - `correct` boolean, required — Whether this choice is a correct answer.
        - `order` integer, required — Ordering value within the parent question.
    - `links` object, nullable — Self and related links.
  - `meta` object, nullable — Pagination metadata, e.g. {"page_size": 25}.
  - `links` object, nullable — Pagination links, e.g. {"self": "...", "next": "...", "prev": null}.
  - `has_more` boolean, required — Whether additional pages exist after this one.
  - `next_cursor` string, nullable — Opaque cursor to pass as ``page[cursor]`` for the next page; null on the last page.
  - `included` object[], nullable — Related resources requested via ?include=. Absent when no include was requested.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Entity
- `500` — Internal Server Error

---

[API](https://skmtc.net/skilljar/apis/skilljar-api-v2.md) · [All operations](https://skmtc.net/skilljar/apis/skilljar-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skilljar/skilljar-api-v2/revisions/f8025de20169/schema)
