Oak Curriculum API

API endpoints

Lesson data

We have the following types of data available for each published lesson:

  • Lesson title
  • Unit title
  • Subject
  • Key stage
  • Keywords and their pupil-friendly definitions
  • Key learning points - a summary of the key knowledge taught during the lesson.
  • Common misconceptions and a suggested response
  • Pupil lesson outcome - a statement outlining what the pupil will learn during the lesson
  • Teacher tips
  • Content guidance - suggested guidance for the pupil or teacher about the
  • content within the lesson.
  • Supervision level - to indicate if the content is appropriate for a pupil learning on their own or under the supervision of an adult.
  • Whether downloadable resources are available
  • Quiz questions and answers

2.1 Lesson transcript

GET /lessons/{lesson}/transcript

This endpoint returns the video transcript and video captions file for a given lesson.

Inputs (path)

Name
Type
Description
Example

lesson

string

The slug of the lesson

checking-understanding-of-basic-transformations

Output (response)

Name
Type
Description

transcript

string

The transcript for the lesson video

vtt

string

The contents of the .vtt file for the lesson video, which maps captions to video timestamps.

Sample response

{
  "transcript": "Hello, I'm Mrs. Lashley. I'm looking forward to guiding you through your learning today...",
  "vtt": "WEBVTT\n\n1\n00:00:06.300 --> 00:00:08.070\n<v ->Hello, I'm Mrs. Lashley.</v>\n\n2\n00:00:08.070 --> 00:00:09.240\nI'm looking forward to guiding you\n\n3\n00:00:09.240 --> 00:00:10.980\nthrough your learning today..."
}

2.2 Downloadable lesson assets

GET /lessons/{lesson}/assets

This endpoint returns the types of available assets for a given lesson, and the download endpoints for each.  This endpoint contains licence information for any third-party content contained in the lesson’s downloadable resources. Third-party content is exempt from the open-government license, and users will need to consider whether their use is covered by the stated licence, or if they need to procure their own agreement.

Inputs (path, query)

Name
Type
Description
Example

lesson

string

The lesson slug identifier

child-workers-in-the-victorian-era

type [optional]

string

Use the this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/asset/{type} endpoint

slideDeck

Output (response)

Name
Type
Description

attribution

array[string]

Licence information for any third-party content contained in the lessons' downloadable resources

assets

array[object]

List of assets

label

string

The label for the asset

url

string

The download endpoint for the asset.

Sample response

{
  "attribution": [
    "Copyright XYZ Authors",
    "Creative Commons Attribution Example 4.0"
  ],
  "assets": [
    {
      "label": "Worksheet",
      "type": "worksheet",
      "url": "https://open-api.thenational.academy/api/v0/lessons/using-numerals/assets/worksheet"
    },
    {
      "label": "Worksheet Answers",
      "type": "worksheetAnswers",
      "url": "https://open-api.thenational.academy/api/v0/lessons/using-numerals/assets/worksheetAnswers"
    },
    {
      "label": "Video",
      "type": "video",
      "url": "https://open-api.thenational.academy/api/v0/lessons/using-numerals/assets/video"
    }
  ]
}

2.3 Lesson asset by type

GET /lessons/{lesson}/assets/{type}

This endpoint will stream the downloadable asset for the given lesson and type. There is no response returned for this endpoint as it returns a content attachment.

Inputs (path)

Name
Type
Description
Example

lesson

string

The lesson slug

child-workers-in-the-victorian-era

type

string

Use the this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/asset/{type} endpoint

slideDeck

Output (response)

N/A

Sample response

{}

2.4 Lesson summary

GET /lessons/{lesson}/summary

This endpoint returns a summary for a given lesson

Inputs (path)

Name
Type
Description
Example

lesson

string

The slug of the lesson

joining-using-and

Output (response)

Name
Type
Description

lessonTitle

string

The lesson title

unitSlug

string

The unit slug identifier

unitTitle

string

The unit title

subjectSlug

string

The subject slug identifier

subjectTitle

string

The subject slug identifier

keyStageSlug

string

The key stage slug identifier

keyStageTitle

string

The key stage title

lessonKeywords

array[object]

The lesson's keywords and their descriptions

properties

[object Object]

keyword

string

The keyword

description

string

A definition of the keyword

keyLearningPoints

array[object]

The lesson's key learning points

keyLearningPoint

string

A key learning point

misconceptionsAndCommonMistakes

array[object]

The lesson’s anticipated common misconceptions and suggested teacher responses

misconception

string

A common misconception

pupilLessonOutcome

string

Suggested teacher response to a common misconception

teacherTips

array[object]

Helpful teaching tips for the lesson

items

object

A teaching tip

contentGuidance

array, null

Full guidance about the types of lesson content for the teacher to consider (where appropriate)

contentGuidanceArea

string

Category of content guidance

supervisionlevel_id

number

The ID of the supervision level for the identified type of content. See ‘What are the types of content guidance?’ for more information.

contentGuidanceLabel

string

Content guidance label

contentGuidanceDescription

string

A detailed description of the type of content that we suggest needs guidance.

supervisionLevel

string, null

The ID of the supervision level for the identified type of content. See ‘What are the types of content guidance?’ for more information.

downloadsAvailable

boolean

Whether the lesson currently has any downloadable assets availableNote: this field reflects the current availability of downloadable assets, which reflects the availability of early-release content available for the hackathon. All lessons will eventually have downloadable assets available.

Sample response

{
  "lessonTitle": "Joining using 'and'",
  "unitSlug": "simple-sentences",
  "unitTitle": "Simple sentences",
  "subjectSlug": "english",
  "subjectTitle": "English",
  "keyStageSlug": "ks1",
  "keyStageTitle": "Key Stage 1",
  "lessonKeywords": [
    {
      "keyword": "joining word",
      "description": "a word that joins words or ideas"
    },
    {
      "keyword": "build on",
      "description": "add to"
    },
    {
      "keyword": "related",
      "description": "linked to"
    }
  ],
  "keyLearningPoints": [
    {
      "keyLearningPoint": "And is a type of joining word."
    },
    {
      "keyLearningPoint": "A joining word can join two simple sentences."
    },
    {
      "keyLearningPoint": "Each simple sentence is about one idea and makes complete sense."
    },
    {
      "keyLearningPoint": "The second idea builds on to the first idea if ‘and’ is used to join them."
    },
    {
      "keyLearningPoint": "Grammatically accurate sentences start with capital letters and most often end with full stops."
    }
  ],
  "misconceptionsAndCommonMistakes": [
    {
      "misconception": "Pupils may struggle to link related ideas together.",
      "response": "Give some non-examples to show what it sounds like when two ideas are unrelated e.g. Dad baked bread and she missed her sister."
    }
  ],
  "pupilLessonOutcome": "I can join two simple sentences with 'and'.",
  "teacherTips": [
    {
      "teacherTip": "In Learning Cycle 1, make sure pupils are given plenty of opportunities to say sentences orally and hear that they make complete sense."
    }
  ],
  "contentGuidance": null,
  "supervisionLevel": null,
  "downloadsAvailable": true
}