API endpoints
Every lesson has a starter quiz, which tests pupils on the prior knowledge they will need for the lesson, and an exit quiz, which tests pupils' understanding of the lesson content. Each quiz has six questions. Quiz questions can be multiple-choice, ordering, or matching.
The endpoint returns the quiz questions and answers for a given lesson. The answers data indicates which answers are correct, and which are distractors.
Name | Type | Description | Example |
---|---|---|---|
lesson | string | The lesson slug identifier | imagining-you-are-the-characters-the-three-billy-goats-gruff |
Name | Type | Description |
---|---|---|
starterQuiz | array[object] | The starter quiz questions - which test prior knowledge |
question | string | The question text |
questionType | string, string, string, string | The type of quiz question which could be one of the following:
|
text | string | Supplementary text for the image, if any |
distractor | boolean | Whether the multiple choice question response is the correct answer (false) or is a distractor (true) |
type | string | The format of the quiz answer Note: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available. |
content | string | Quiz question answer |
matchOption | object | Matching options (LHS) |
correctChoice | object | Matching options (RHS), indicating the correct choice |
order | number | Indicates the correct ordering of the response |
exitQuiz | array[object] | The exit quiz questions - which test on the knowledge learned in the lesson |
{
"starterQuiz": [
{
"question": "Tick the sentence with the correct punctuation.",
"questionType": "multiple-choice",
"answers": [
{
"distractor": true,
"type": "text",
"content": "the baby cried"
},
{
"distractor": true,
"type": "text",
"content": "The baby cried"
},
{
"distractor": false,
"type": "text",
"content": "The baby cried."
},
{
"distractor": true,
"type": "text",
"content": "the baby cried."
}
]
}
],
"exitQuiz": [
{
"question": "Which word is a verb?",
"questionType": "multiple-choice",
"answers": [
{
"distractor": true,
"type": "text",
"content": "shops"
},
{
"distractor": true,
"type": "text",
"content": "Jun"
},
{
"distractor": true,
"type": "text",
"content": "I"
},
{
"distractor": false,
"type": "text",
"content": "shout"
}
]
}
]
}
This endpoint returns all quiz questions for a given sequence. The assets are separated into starter quiz and entry quiz arrays, grouped by lesson.
Name | Type | Description | Example |
---|---|---|---|
sequence | string | The sequence slug identifier, including the key stage 4 option where relevant. | english-primary |
year [optional] | number | The year group to filter by. For the physical-education-primary sequence, a value of all-years can also be used. | 3 |
offset [optional] | number | If limiting results returned, this allows you to return the next set of results, starting at the given offset point | 50 |
limit [optional] | number | Limit the number of lessons, e.g. return a maximum of 100 lessons | 10 |
Name | Type | Description |
---|---|---|
lessonSlug | string | The lesson slug identifier |
lessonTitle | string | The title of the lesson |
starterQuiz | array[object] | The starter quiz questions - which test prior knowledge |
question | string | The question text |
questionType | string, string, string, string | The type of quiz question which could be one of the following:
|
text | string | Supplementary text for the image, if any |
distractor | boolean | Whether the multiple choice question response is the correct answer (false) or is a distractor (true) |
type | string | The format of the quiz answer Note: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available. |
content | string | Quiz question answer |
matchOption | object | Matching options (LHS) |
correctChoice | object | Matching options (RHS), indicating the correct choice |
order | number | Indicates the correct ordering of the response |
exitQuiz | array[object] | The exit quiz questions - which test on the knowledge learned in the lesson |
[
{
"lessonTitle": "3D shapes can be composed from 2D nets",
"lessonSlug": "3d-shapes-can-be-composed-from-2d-nets",
"starterQuiz": [
{
"question": "Select all of the names of shapes that are polygons.",
"questionType": "multiple-choice",
"answers": [
{
"type": "text",
"content": "Cube ",
"distractor": true
},
{
"type": "text",
"content": " Square",
"distractor": false
},
{
"type": "text",
"content": "Triangle",
"distractor": false
},
{
"type": "text",
"content": "Semi-circle",
"distractor": true
}
]
}
],
"exitQuiz": [
{
"question": "What is a net?",
"questionType": "multiple-choice",
"answers": [
{
"type": "text",
"content": "A 3D shape made of 2D shapes folded together. ",
"distractor": false
},
{
"type": "text",
"content": "A 2D shape made of 3D shapes folded togehther.",
"distractor": true
},
{
"type": "text",
"content": "A type of cube.",
"distractor": true
}
]
}
]
}
]
This endpoint returns quiz questions and answers for each lesson within a requested subject and key stage.
Name | Type | Description | Example |
---|---|---|---|
keyStage | string | Key stage slug to filter by, e.g. 'ks2' - note that casing is important here, and should be lowercase | ks1 |
subject | string | Subject slug to search by, e.g. 'science' - note that casing is important here | art |
offset [optional] | number | If limiting results returned, this allows you to return the next set of results, starting at the given offset point | 50 |
limit [optional] | number | Limit the number of lessons, e.g. return a maximum of 100 lessons | 10 |
Name | Type | Description |
---|---|---|
lessonSlug | string | The lesson slug identifier |
lessonTitle | string | The title of the lesson |
starterQuiz | array[object] | The starter quiz questions - which test prior knowledge |
question | string | The question text |
questionType | string, string, string, string | The type of quiz question which could be one of the following:
|
text | string | Supplementary text for the image, if any |
distractor | boolean | Whether the multiple choice question response is the correct answer (false) or is a distractor (true) |
type | string | The format of the quiz answer Note: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available. |
content | string | Quiz question answer |
matchOption | object | Matching options (LHS) |
correctChoice | object | Matching options (RHS), indicating the correct choice |
order | number | Indicates the correct ordering of the response |
exitQuiz | array[object] | The exit quiz questions - which test on the knowledge learned in the lesson |
[
{
"lessonSlug": "predicting-the-size-of-a-product",
"lessonTitle": "Predicting the size of a product",
"starterQuiz": [
{
"question": "Match the number to its written representation.",
"questionType": "match",
"answers": [
{
"matchOption": {
"type": "text",
"content": "seven tenths"
},
"correctChoice": {
"type": "text",
"content": "0.7"
}
},
{
"matchOption": {
"type": "text",
"content": "nine tenths"
},
"correctChoice": {
"type": "text",
"content": "0.9"
}
},
{
"matchOption": {
"type": "text",
"content": "seven ones"
},
"correctChoice": {
"type": "text",
"content": "7"
}
},
{
"matchOption": {
"type": "text",
"content": "seven hundredths"
},
"correctChoice": {
"type": "text",
"content": "0.07"
}
},
{
"matchOption": {
"type": "text",
"content": "nine hundredths"
},
"correctChoice": {
"type": "text",
"content": "0.09"
}
}
]
}
],
"exitQuiz": [
{
"question": "Use the fact that 9 × 8 = 72, to match the expressions to their product.",
"questionType": "match",
"answers": [
{
"matchOption": {
"type": "text",
"content": "9 × 80"
},
"correctChoice": {
"type": "text",
"content": "720"
}
},
{
"matchOption": {
"type": "text",
"content": "9 × 800 "
},
"correctChoice": {
"type": "text",
"content": "7,200"
}
},
{
"matchOption": {
"type": "text",
"content": "9 × 0.8"
},
"correctChoice": {
"type": "text",
"content": "7.2"
}
},
{
"matchOption": {
"type": "text",
"content": "9 × 0"
},
"correctChoice": {
"type": "text",
"content": "0"
}
},
{
"matchOption": {
"type": "text",
"content": "9 × 0.08"
},
"correctChoice": {
"type": "text",
"content": "0.72"
}
}
]
}
]
}
]