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 the sequence object for the provided sequence slug. 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 |
|---|---|---|---|
slug | string | The sequence slug identifier | art-secondary-aqa |
Name | Type | Description |
|---|---|---|
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 |
ks4ProgrammeFactors | object | The programme factors that apply to this subject at key stage 4, with the valid values for each factor. |
examBoard | array[object] | The valid exam board values offered by Oak for this subject at key stage 4. |
title | string | The display title for a valid programme factor value |
slug | string | The slug identifier for a valid programme factor value |
pathway | array[object] | The valid pathway values offered by Oak for this subject at key stage 4. |
tier | array[object] | The valid tier values offered by Oak for this subject at key stage 4. |
childSubject | array[object] | The child subjects offered by Oak for this subject at key stage 4 (e.g. biology, chemistry, physics and combined-science under science). Only present for Science, which is split into child subjects at KS4. |
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": "computing-secondary-core",
"years": [
7,
8,
9,
10,
11
],
"keyStages": [
{
"keyStageTitle": "Key Stage 3",
"keyStageSlug": "ks3"
},
{
"keyStageTitle": "Key Stage 4",
"keyStageSlug": "ks4"
}
],
"phaseSlug": "secondary",
"phaseTitle": "Secondary",
"ks4ProgrammeFactors": {
"examBoard": [
{
"title": "AQA",
"slug": "aqa"
},
{
"title": "Edexcel",
"slug": "edexcel"
},
{
"title": "OCR",
"slug": "ocr"
}
],
"pathway": [
{
"title": "Core",
"slug": "core"
}
],
"tier": [
{
"title": "Foundation",
"slug": "foundation"
},
{
"title": "Higher",
"slug": "higher"
}
]
}
}This endpoint returns an array of available subject slugs.
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 |
[
"art",
"computing",
"english"
]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 |
|---|---|---|
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 |
ks4ProgrammeFactors | object | The programme factors that apply to this subject at key stage 4, with the valid values for each factor. |
examBoard | array[object] | The valid exam board values offered by Oak for this subject at key stage 4. |
title | string | The display title for a valid programme factor value |
slug | string | The slug identifier for a valid programme factor value |
pathway | array[object] | The valid pathway values offered by Oak for this subject at key stage 4. |
tier | array[object] | The valid tier values offered by Oak for this subject at key stage 4. |
childSubject | array[object] | The child subjects offered by Oak for this subject at key stage 4 (e.g. biology, chemistry, physics and combined-science under science). Only present for Science, which is split into child subjects at KS4. |
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": "Science",
"subjectSlug": "science",
"sequenceSlugs": [
{
"sequenceSlug": "science-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"
},
{
"sequenceSlug": "science-secondary-aqa",
"years": [
7,
8,
9,
10,
11
],
"keyStages": [
{
"keyStageTitle": "Key Stage 3",
"keyStageSlug": "ks3"
},
{
"keyStageTitle": "Key Stage 4",
"keyStageSlug": "ks4"
}
],
"phaseSlug": "secondary",
"phaseTitle": "Secondary"
},
{
"sequenceSlug": "science-secondary-edexcel",
"years": [
7,
8,
9,
10,
11
],
"keyStages": [
{
"keyStageTitle": "Key Stage 3",
"keyStageSlug": "ks3"
},
{
"keyStageTitle": "Key Stage 4",
"keyStageSlug": "ks4"
}
],
"phaseSlug": "secondary",
"phaseTitle": "Secondary"
},
{
"sequenceSlug": "science-secondary-ocr",
"years": [
7,
8,
9,
10,
11
],
"keyStages": [
{
"keyStageTitle": "Key Stage 3",
"keyStageSlug": "ks3"
},
{
"keyStageTitle": "Key Stage 4",
"keyStageSlug": "ks4"
}
],
"phaseSlug": "secondary",
"phaseTitle": "Secondary"
}
],
"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"
}
],
"ks4ProgrammeFactors": {
"examBoard": [
{
"title": "AQA",
"slug": "aqa"
},
{
"title": "Edexcel",
"slug": "edexcel"
},
{
"title": "OCR",
"slug": "ocr"
}
],
"tier": [
{
"title": "Foundation",
"slug": "foundation"
},
{
"title": "Higher",
"slug": "higher"
}
],
"childSubject": [
{
"title": "Biology",
"slug": "biology"
},
{
"title": "Chemistry",
"slug": "chemistry"
},
{
"title": "Combined science",
"slug": "combined-science"
},
{
"title": "Physics",
"slug": "physics"
}
]
}
}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 |
examBoard [optional] | string |
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 |
examBoards | array[object] | The exam boards the unit appears in. Only populated for KS4 subjects when the request does not supply an |
title | string | The title of the exam board |
slug | string | The slug of the exam board |
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 |
unitCount | number | The number of published units in 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 |
[
{
"title": "Number: Multiplication and division",
"slug": "number-multiplication-and-division",
"unitCount": 78
}
]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 |
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"
},
{
"unitTitle": "Programming subroutines",
"unitSlug": "programming-subroutines"
},
{
"unitTitle": "Programming subroutines",
"unitSlug": "programming-subroutines"
}
]