API endpoints
The following lists are available to facilitate using other endpoints:
The top-level endpoints (key stages, subjects, threads) provide an overview of our data model, while the lower-level endpoints provide detailed information on specific subjects, key stages and threads.
This endpoint returns an array of all available subjects and their associated sequences, key stages and years.
Name | Type | Description |
|---|---|---|
0 | object | The key stage 4 study pathway that this sequence represents. May be null. |
subjectTitle | string | The subject title |
subjectSlug | string | The subject slug identifier |
sequenceSlugs | array[object] | Information about the years, key stages and key stage 4 variance for each sequence |
sequenceSlug | string | The unique identifier for each sequence |
years | array[number] | The years for which this subject has content available for |
keyStages | array[object] | The key stage slug identifiers for which this subject has content available for. |
keyStageTitle | string | The key stage title for the given key stage |
keyStageSlug | string | The unique identifier for a given key stage |
phaseSlug | string | The unique identifier for the phase to which this sequence belongs |
phaseTitle | string | The title for the phase to which this sequence belongs |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
[
{
"subjectTitle": "Art and design",
"subjectSlug": "art",
"sequenceSlugs": [
{
"sequenceSlug": "art-primary",
"years": [
1,
2,
3,
4,
5,
6
],
"keyStages": [
{
"keyStageTitle": "Key Stage 1",
"keyStageSlug": "ks1"
},
{
"keyStageTitle": "Key Stage 2",
"keyStageSlug": "ks2"
}
],
"phaseSlug": "primary",
"phaseTitle": "Primary",
"ks4Options": null
},
{
"sequenceSlug": "art-secondary",
"years": [
7,
8,
9,
10,
11
],
"keyStages": [
{
"keyStageTitle": "Key Stage 3",
"keyStageSlug": "ks3"
},
{
"keyStageTitle": "Key Stage 4",
"keyStageSlug": "ks4"
}
],
"phaseSlug": "secondary",
"phaseTitle": "Secondary",
"ks4Options": null
}
],
"years": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11
],
"keyStages": [
{
"keyStageTitle": "Key Stage 1",
"keyStageSlug": "ks1"
},
{
"keyStageTitle": "Key Stage 2",
"keyStageSlug": "ks2"
},
{
"keyStageTitle": "Key Stage 3",
"keyStageSlug": "ks3"
},
{
"keyStageTitle": "Key Stage 4",
"keyStageSlug": "ks4"
}
]
}
]This endpoint returns the sequences, key stages and years that are currently available for a given subject.
Name | Type | Description | Example |
|---|---|---|---|
subject | string | The slug identifier for the subject | art |
Name | Type | Description |
|---|---|---|
0 | object | The key stage 4 study pathway that this sequence represents. May be null. |
subjectTitle | string | The subject title |
subjectSlug | string | The subject slug identifier |
sequenceSlugs | array[object] | Information about the years, key stages and key stage 4 variance for each sequence |
sequenceSlug | string | The unique identifier for each sequence |
years | array[number] | The years for which this subject has content available for |
keyStages | array[object] | The key stage slug identifiers for which this subject has content available for. |
keyStageTitle | string | The key stage title for the given key stage |
keyStageSlug | string | The unique identifier for a given key stage |
phaseSlug | string | The unique identifier for the phase to which this sequence belongs |
phaseTitle | string | The title for the phase to which this sequence belongs |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
{
"subjectTitle": "Art and design",
"subjectSlug": "art",
"sequenceSlugs": [
{
"sequenceSlug": "art-primary",
"years": [
1,
2,
3,
4,
5,
6
],
"keyStages": [
{
"keyStageTitle": "Key Stage 1",
"keyStageSlug": "ks1"
},
{
"keyStageTitle": "Key Stage 2",
"keyStageSlug": "ks2"
}
],
"phaseSlug": "primary",
"phaseTitle": "Primary",
"ks4Options": null
},
{
"sequenceSlug": "art-secondary",
"years": [
1,
2,
3,
4,
5,
6
],
"keyStages": [
{
"keyStageTitle": "Key Stage 1",
"keyStageSlug": "ks1"
},
{
"keyStageTitle": "Key Stage 2",
"keyStageSlug": "ks2"
}
],
"phaseSlug": "secondary",
"phaseTitle": "Secondary",
"ks4Options": null
}
],
"years": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11
],
"keyStages": [
{
"keyStageTitle": "Key Stage 1",
"keyStageSlug": "ks1"
},
{
"keyStageTitle": "Key Stage 2",
"keyStageSlug": "ks2"
},
{
"keyStageTitle": "Key Stage 3",
"keyStageSlug": "ks3"
},
{
"keyStageTitle": "Key Stage 4",
"keyStageSlug": "ks4"
}
]
}This endpoint returns an array of sequence objects that are currently available for a given subject. For secondary sequences, this includes information about key stage 4 variance such as exam board sequences and non-GCSE ‘core’ unit sequences.
Name | Type | Description | Example |
|---|---|---|---|
subject | string | The slug identifier for the subject | art |
Name | Type | Description |
|---|---|---|
0 | object | The key stage 4 study pathway that this sequence represents. May be null. |
sequenceSlug | string | The unique identifier for each sequence |
years | array[number] | The years for which this subject has content available for |
keyStages | array[object] | The key stage slug identifiers for which this subject has content available for. |
keyStageTitle | string | The key stage title for the given key stage |
keyStageSlug | string | The unique identifier for a given key stage |
phaseSlug | string | The unique identifier for the phase to which this sequence belongs |
phaseTitle | string | The title for the phase to which this sequence belongs |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
[
{
"sequenceSlug": "art-primary",
"years": [
1,
2,
3,
4,
5,
6
],
"keyStages": [
{
"keyStageTitle": "Key Stage 1",
"keyStageSlug": "ks1"
},
{
"keyStageTitle": "Key Stage 2",
"keyStageSlug": "ks2"
}
],
"phaseSlug": "primary",
"phaseTitle": "Primary",
"ks4Options": null
},
{
"sequenceSlug": "art-secondary",
"years": [
1,
2,
3,
4,
5,
6
],
"keyStages": [
{
"keyStageTitle": "Key Stage 1",
"keyStageSlug": "ks1"
},
{
"keyStageTitle": "Key Stage 2",
"keyStageSlug": "ks2"
}
],
"phaseSlug": "secondary",
"phaseTitle": "Secondary",
"ks4Options": null
}
]This endpoint returns a list of key stages that are currently available for a given subject.
Name | Type | Description | Example |
|---|---|---|---|
subject | string | The subject slug identifier | art |
Name | Type | Description |
|---|---|---|
keyStageTitle | string | The key stage title for the given key stage |
keyStageSlug | string | The unique identifier for a given key stage |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
[
{
"keyStageTitle": "Key Stage 1",
"keyStageSlug": "ks1"
},
{
"keyStageTitle": "Key Stage 2",
"keyStageSlug": "ks2"
},
{
"keyStageTitle": "Key Stage 3",
"keyStageSlug": "ks3"
},
{
"keyStageTitle": "Key Stage 4",
"keyStageSlug": "ks4"
}
]This endpoint returns an array of years that are currently available for a given subject.
Name | Type | Description | Example |
|---|---|---|---|
subject | string | Subject slug to filter by | cooking-nutrition |
Name | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
[
1,
2,
3,
4,
5,
6,
7,
8,
9
]This endpoint returns all the key stages (titles and slugs) that are currently available on Oak
Name | Type | Description |
|---|---|---|
slug | string | The key stage slug identifier |
title | string | The key stage title |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
[
{
"slug": "ks1",
"title": "Key Stage 1"
}
]This endpoint returns an array of available published lessons for a given subject and key stage, grouped by unit.
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 filter by, e.g. 'english' - note that casing is important here, and should be lowercase | english |
unit [optional] | string | Optional unit slug to additionally filter by | word-class |
offset [optional] | number | Limit the number of lessons returned per unit. Units with zero lessons after limiting are omitted. | 50 |
limit [optional] | number | Offset applied to lessons within each unit (not to the unit list). | 10 |
Name | Type | Description |
|---|---|---|
unitSlug | string | The unit slug identifier |
unitTitle | string | The unit title |
lessons | array[object] | List of lessons for the specified unit |
lessonSlug | string | The lesson slug identifier |
lessonTitle | string | The lesson title |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
[
{
"unitSlug": "simple-compound-and-adverbial-complex-sentences",
"unitTitle": "Simple, compound and adverbial complex sentences",
"lessons": [
{
"lessonSlug": "four-types-of-simple-sentence",
"lessonTitle": "Four types of simple sentence"
},
{
"lessonSlug": "three-ways-for-co-ordination-in-compound-sentences",
"lessonTitle": "Three ways for co-ordination in compound sentences"
}
]
}
]This endpoint returns an array of units containing available published lessons for a given key stage and subject, grouped by year. Units without published lessons will not be returned by this endpoint.
Name | Type | Description | Example |
|---|---|---|---|
keyStage | string | Key stage slug to filter by, e.g. 'ks2' | ks1 |
subject | string | Subject slug to search by, e.g. 'science' - note that casing is important here (always lowercase) | art |
Name | Type | Description |
|---|---|---|
yearSlug | string | The year identifier |
yearTitle | string | The year title |
units | array[object] | List of units for the specified year |
unitSlug | string | The unit slug identifier |
unitTitle | string | The unit title |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
[
{
"units": [
{
"unitSlug": "2-4-and-8-times-tables-using-times-tables-to-solve-problems",
"unitTitle": "2, 4 and 8 times tables: using times tables to solve problems"
},
{
"unitSlug": "bridging-100-counting-on-and-back-in-10s-adding-subtracting-multiples-of-10",
"unitTitle": "Bridging 100: counting on and back in 10s, adding/subtracting multiples of 10"
}
],
"yearSlug": "year-3",
"yearTitle": "Year 3"
}
]This endpoint returns a list of keywords for a given key stage and subject, based on the keywords associated with the lessons that are available for that key stage and subject. The keywords are returned in order of frequency, with the most common keywords appearing first.
Name | Type | Example |
|---|---|---|
subject [optional] | string | |
keyStage [optional] | string | |
phase [optional] | string | |
unit [optional] | string | |
lesson [optional] | string |
This endpoint returns an array of all threads, across all subjects. Threads signpost groups of units that link to one another, building a common body of knowledge over time. They are an important component of how Oak’s curricula are sequenced.
Name | Type | Description |
|---|---|---|
title | string | The thread title |
slug | string | The thread slug identifier |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
[
{
"title": "Number: Multiplication and division",
"slug": "number-multiplication-and-division"
}
]This endpoint returns all of the units that belong to a given thread.
Name | Type | Example |
|---|---|---|
threadSlug | string | number-multiplication-and-division |
Name | Type | Description |
|---|---|---|
unitTitle | string | The unit title |
unitSlug | string | The unit slug identifier |
unitOrder | number | The position of the unit within the thread |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
message | string | The error message |
code | string | The error code |
issues | array[object] | An array of issues that were responsible for the error |
[
{
"unitTitle": "Unitising and coin recognition - counting in 2s, 5s and 10s",
"unitSlug": "unitising-and-coin-recognitions-counting-in-2s-5s-and-10s",
"unitOrder": 1
},
{
"unitTitle": "Solving problems in a range of contexts",
"unitSlug": "unitising-and-coin-recognition-solving-problems-involving-money",
"unitOrder": 2
}
]