> For the complete documentation index, see [llms.txt](https://sunbird.gitbook.io/sunbird-spark/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sunbird.gitbook.io/sunbird-spark/learn/components/versatile-question-bank.md).

# Versatile question bank

The Spark question bank is built on the **QuML (Question Markup Language) specification**, an open standard for representing questions and question sets.

#### Question types supported

* Multiple choice, with single or multiple correct answers
* Fill in the blank
* Match the following
* Subjective or free-text responses

#### Question set features

* Randomised question ordering
* Timed assessments with configurable limits
* Hint support per question
* Configurable scoring and pass or fail thresholds
* Section-based question sets for grouping questions into themed sections

#### Use cases

The same question bank infrastructure supports multiple use cases. The difference is in configuration, not code.

| Use case              | Configuration                                            |
| --------------------- | -------------------------------------------------------- |
| Practice exercise     | No timer, hints enabled, instant feedback                |
| Graded assessment     | Timed, no hints, score-based pass or fail                |
| Survey                | No correct answers, all questions required               |
| Observation checklist | Structured form-like question set for field observations |
| Quiz                  | Short, timed, gamified scoring                           |

#### QuestionSet Player and Editor

Both the QuestionSet Player and QuestionSet Editor are V2 web components. Each can be embedded independently in any web application, like the content players.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://sunbird.gitbook.io/sunbird-spark/learn/components/versatile-question-bank.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
