{"openapi":"3.1.0","info":{"title":"Oak Curriculum API","description":"This Oak Curriculum API is an intermediary that enables software applications to communicate with each other to exchange - in this case - data and assets. Through the Oak Curriculum API, you will have access to a wide range of educational content across subjects for key stages 1-4.\n\n### How could you use this API?\n\nOur aim is that the curriculum data and lessons resources in the Oak Curriculum API can be used flexibly within almost any product or service that would benefit teachers and pupils.\n\nTo give you some inspiration, here are just a few examples of how you could use the Oak Curriculum API:\n\n- Use the endpoint `GET /lessons/{lesson}/summary` to retrieve common misconceptions and suggested responses. This data could be used to train the AI in a revision tool to identify and respond to misconceptions in pupil answers.\n- Use the endpoint `GET /sequences/{sequence}/units` to retrieve threads in sequence order, plus threads that demonstrate how common bodies of knowledge build across the curriculum. This data could be used in teacher training materials to demonstrate a sequenced, coherent curriculum.\n- Use the endpoint `GET /key-stages/{keyStage}/subject/{subject}/questions` to retrieve the quiz questions and answers for a given subject and key stage. This data could be used to build a quizzing tool that supports formative assessment.\n- Use the endpoint `GET /lessons/{lesson}/assets` to retrieve all of the resources for a given lesson. You could embed these lesson resources in your own product or service to give teachers a starting point for their lesson planning.\n\nFull documentation for the Oak Curriculum API is available on the URL below:\n\n\nThis document describes `/api/v1`, the current major.","version":"1.0.0"},"servers":[{"url":"https://open-api.thenational.academy/api/v1"}],"tags":[{"name":"internal"},{"name":"assets"},{"name":"lessons"},{"name":"lists"},{"name":"programmes"},{"name":"questions"},{"name":"search"},{"name":"sequences"},{"name":"units"}],"externalDocs":{"url":"/docs"},"paths":{"/sequences/{sequence}":{"get":{"operationId":"getSequencesGetSubjectSequence","summary":"Sequencing information for a given sequence slug","description":"Use when you have a sequence slug and need the sequence-level summary. A sequence is a subject's curriculum across a phase (e.g. maths-primary, science-secondary-aqa); it spans one or more National Curriculum schemes and contains one programme per year group. Get sequence slugs from GET /subjects or GET /subjects/{subject} (the sequenceSlugs field). Returns slug, phase, key stages, years, and any KS4 programme factors (exam board, tier, child subject, pathway) needed to interpret the programmes within it.\n\nNot for: the programmes within this sequence (GET /subjects/{subject}/programmes); the unit sequence for one programme (GET /programmes/{programme}/units); all units across the sequence (GET /sequences/{sequence}/units); subject-level catalogue data (GET /subjects or GET /subjects/{subject}).\n\nExample: sequence=maths-primary or science-secondary-aqa.","tags":["lists","sequences"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"sequence","schema":{"type":"string","description":"The sequence slug identifier","example":"english-secondary-aqa"},"required":true,"description":"The sequence slug identifier"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"sequenceSlug":{"type":"string","description":"The unique identifier for each sequence"},"years":{"type":"array","items":{"type":"number"},"description":"The years for which this subject has content available for"},"keyStages":{"type":"array","items":{"type":"object","properties":{"keyStageTitle":{"type":"string","description":"The key stage title for the given key stage"},"keyStageSlug":{"type":"string","description":"The unique identifier for a given key stage"}},"required":["keyStageTitle","keyStageSlug"],"additionalProperties":false},"description":"The key stage slug identifiers for which this subject has content available for."},"phaseSlug":{"type":"string","description":"The unique identifier for the phase to which this sequence belongs"},"phaseTitle":{"type":"string","description":"The title for the phase to which this sequence belongs"},"ks4ProgrammeFactors":{"type":"object","properties":{"examBoard":{"description":"The valid exam board values offered by Oak for this subject at key stage 4.","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The display title for a valid programme factor value"},"slug":{"type":"string","description":"The slug identifier for a valid programme factor value"}},"required":["title","slug"],"additionalProperties":false}},"pathway":{"description":"The valid pathway values offered by Oak for this subject at key stage 4.","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The display title for a valid programme factor value"},"slug":{"type":"string","description":"The slug identifier for a valid programme factor value"}},"required":["title","slug"],"additionalProperties":false}},"tier":{"description":"The valid tier values offered by Oak for this subject at key stage 4.","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The display title for a valid programme factor value"},"slug":{"type":"string","description":"The slug identifier for a valid programme factor value"}},"required":["title","slug"],"additionalProperties":false}},"childSubject":{"description":"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.","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The display title for a valid programme factor value"},"slug":{"type":"string","description":"The slug identifier for a valid programme factor value"}},"required":["title","slug"],"additionalProperties":false}}},"additionalProperties":false,"description":"The programme factors that apply to this subject at key stage 4, with the valid values for each factor."}},"required":["sequenceSlug","years","keyStages","phaseSlug","phaseTitle","ks4ProgrammeFactors"],"additionalProperties":false,"example":{"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"}]}}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/sequences/{sequence}/units":{"get":{"operationId":"getSequencesGetSequenceUnits","summary":"Units in a curriculum sequence","description":"Use when you want every unit across a whole sequence — all programmes combined, in unit sequence order. Returns units grouped by programme (year group) in unit sequence order. If the sequence slug includes an exam board (e.g. science-secondary-aqa), units are scoped to that exam board. Secondary sequences also expose tiers, pathways, and exam subjects where applicable. Pass year as an optional filter to return only that year's units (across all KS4 factor combinations).\n\nNot for: units in a single programme (GET /programmes/{programme}/units); a flat list of units for a key stage + subject without programme structure or unit sequence order (GET /key-stages/{keyStage}/subject/{subject}/units); the programmes within this sequence (GET /subjects/{subject}/programmes); a single unit (GET /units/{unit}/summary); units in a thread (GET /threads/{threadSlug}/units).\n\nExample: sequence=science-secondary-aqa or maths-primary.","tags":["units","sequences"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"sequence","schema":{"type":"string","description":"The sequence slug identifier, including the key stage 4 option where relevant.","example":"english-primary"},"required":true,"description":"The sequence slug identifier, including the key stage 4 option where relevant."},{"in":"query","name":"year","schema":{"type":"string","enum":["1","2","3","4","5","6","7","8","9","10","11","all-years"],"description":"The year group to filter by. For the physical-education-primary sequence, a value of all-years can also be used.","example":"1"},"description":"The year group to filter by. For the physical-education-primary sequence, a value of all-years can also be used."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"year":{"anyOf":[{"type":"number"},{"type":"string","const":"all-years"}],"description":"The year group"},"title":{"type":"string","description":"An optional alternative title for the year sequence"},"units":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"unitTitle":{"type":"string","description":"The title of the unit"},"unitOrder":{"type":"number","description":"The position of the unit within the sequence."},"unitOptions":{"type":"array","items":{"type":"object","properties":{"unitTitle":{"type":"string"},"unitSlug":{"type":"string"}},"required":["unitTitle","unitSlug"],"additionalProperties":false},"description":"The unique slug identifier for the unit"},"categories":{"description":"The categories (if any) that are assigned to the unit. If the unit does not have any categories, this property is omitted.","type":"array","items":{"type":"object","properties":{"categoryTitle":{"type":"string","description":"The title of the category"},"categorySlug":{"description":"The unique identifier for the category","type":"string"}},"required":["categoryTitle"],"additionalProperties":false}},"threads":{"description":"A list of threads (if any) that are assigned to the unit. If the unit does not have any categories, this property is omitted.","type":"array","items":{"type":"object","properties":{"threadTitle":{"type":"string","description":"The title of the category"},"threadSlug":{"type":"string","description":"The unique identifier for the thread"},"order":{"type":"number","description":"Deprecated"}},"required":["threadTitle","threadSlug","order"],"additionalProperties":false}},"examBoards":{"description":"The exam boards the unit appears in. Only populated when the sequence is requested without an exam board (e.g. `science-secondary` rather than `science-secondary-aqa`).","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The title of the exam board"},"slug":{"type":"string","description":"The slug of the exam board"}},"required":["title","slug"],"additionalProperties":false}}},"required":["unitTitle","unitOrder","unitOptions"],"additionalProperties":false},{"type":"object","properties":{"unitTitle":{"type":"string"},"unitOrder":{"type":"number"},"unitSlug":{"type":"string","description":"The unique slug identifier for the unit"},"categories":{"type":"array","items":{"type":"object","properties":{"categoryTitle":{"type":"string","description":"The title of the category"},"categorySlug":{"description":"The unique identifier for the category","type":"string"}},"required":["categoryTitle"],"additionalProperties":false}},"threads":{"type":"array","items":{"type":"object","properties":{"threadTitle":{"type":"string","description":"The title of the category"},"threadSlug":{"type":"string","description":"The unique identifier for the thread"},"order":{"type":"number","description":"Deprecated"}},"required":["threadTitle","threadSlug","order"],"additionalProperties":false}},"examBoards":{"description":"The exam boards the unit appears in. Only populated when the sequence is requested without an exam board (e.g. `science-secondary` rather than `science-secondary-aqa`).","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The title of the exam board"},"slug":{"type":"string","description":"The slug of the exam board"}},"required":["title","slug"],"additionalProperties":false}}},"required":["unitTitle","unitOrder","unitSlug"],"additionalProperties":false}]},"description":"A list of units that make up a full sequence, grouped by year."}},"required":["year","units"],"additionalProperties":false},{"type":"object","properties":{"year":{"type":"number"},"title":{"type":"string"},"examSubjects":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"examSubjectTitle":{"type":"string"},"examSubjectSlug":{"type":"string"},"tiers":{"type":"array","items":{"type":"object","properties":{"tierTitle":{"type":"string","description":"The title of the tier"},"tierSlug":{"type":"string","description":"The tier identifier"},"units":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"unitTitle":{"type":"string","description":"The title of the unit"},"unitOrder":{"type":"number","description":"The position of the unit within the sequence."},"unitOptions":{"type":"array","items":{"type":"object","properties":{"unitTitle":{"type":"string"},"unitSlug":{"type":"string"}},"required":["unitTitle","unitSlug"],"additionalProperties":false},"description":"The unique slug identifier for the unit"},"categories":{"description":"The categories (if any) that are assigned to the unit. If the unit does not have any categories, this property is omitted.","type":"array","items":{"type":"object","properties":{"categoryTitle":{"type":"string","description":"The title of the category"},"categorySlug":{"description":"The unique identifier for the category","type":"string"}},"required":["categoryTitle"],"additionalProperties":false}},"threads":{"description":"A list of threads (if any) that are assigned to the unit. If the unit does not have any categories, this property is omitted.","type":"array","items":{"type":"object","properties":{"threadTitle":{"type":"string","description":"The title of the category"},"threadSlug":{"type":"string","description":"The unique identifier for the thread"},"order":{"type":"number","description":"Deprecated"}},"required":["threadTitle","threadSlug","order"],"additionalProperties":false}},"examBoards":{"description":"The exam boards the unit appears in. Only populated when the sequence is requested without an exam board (e.g. `science-secondary` rather than `science-secondary-aqa`).","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The title of the exam board"},"slug":{"type":"string","description":"The slug of the exam board"}},"required":["title","slug"],"additionalProperties":false}}},"required":["unitTitle","unitOrder","unitOptions"],"additionalProperties":false},{"type":"object","properties":{"unitTitle":{"type":"string"},"unitOrder":{"type":"number"},"unitSlug":{"type":"string","description":"The unique slug identifier for the unit"},"categories":{"type":"array","items":{"type":"object","properties":{"categoryTitle":{"type":"string","description":"The title of the category"},"categorySlug":{"description":"The unique identifier for the category","type":"string"}},"required":["categoryTitle"],"additionalProperties":false}},"threads":{"type":"array","items":{"type":"object","properties":{"threadTitle":{"type":"string","description":"The title of the category"},"threadSlug":{"type":"string","description":"The unique identifier for the thread"},"order":{"type":"number","description":"Deprecated"}},"required":["threadTitle","threadSlug","order"],"additionalProperties":false}},"examBoards":{"description":"The exam boards the unit appears in. Only populated when the sequence is requested without an exam board (e.g. `science-secondary` rather than `science-secondary-aqa`).","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The title of the exam board"},"slug":{"type":"string","description":"The slug of the exam board"}},"required":["title","slug"],"additionalProperties":false}}},"required":["unitTitle","unitOrder","unitSlug"],"additionalProperties":false}]}}},"required":["tierTitle","tierSlug","units"],"additionalProperties":false}}},"required":["examSubjectTitle","tiers"],"additionalProperties":false},{"type":"object","properties":{"examSubjectTitle":{"type":"string"},"examSubjectSlug":{"type":"string"},"units":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"unitTitle":{"type":"string","description":"The title of the unit"},"unitOrder":{"type":"number","description":"The position of the unit within the sequence."},"unitOptions":{"type":"array","items":{"type":"object","properties":{"unitTitle":{"type":"string"},"unitSlug":{"type":"string"}},"required":["unitTitle","unitSlug"],"additionalProperties":false},"description":"The unique slug identifier for the unit"},"categories":{"description":"The categories (if any) that are assigned to the unit. If the unit does not have any categories, this property is omitted.","type":"array","items":{"type":"object","properties":{"categoryTitle":{"type":"string","description":"The title of the category"},"categorySlug":{"description":"The unique identifier for the category","type":"string"}},"required":["categoryTitle"],"additionalProperties":false}},"threads":{"description":"A list of threads (if any) that are assigned to the unit. If the unit does not have any categories, this property is omitted.","type":"array","items":{"type":"object","properties":{"threadTitle":{"type":"string","description":"The title of the category"},"threadSlug":{"type":"string","description":"The unique identifier for the thread"},"order":{"type":"number","description":"Deprecated"}},"required":["threadTitle","threadSlug","order"],"additionalProperties":false}},"examBoards":{"description":"The exam boards the unit appears in. Only populated when the sequence is requested without an exam board (e.g. `science-secondary` rather than `science-secondary-aqa`).","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The title of the exam board"},"slug":{"type":"string","description":"The slug of the exam board"}},"required":["title","slug"],"additionalProperties":false}}},"required":["unitTitle","unitOrder","unitOptions"],"additionalProperties":false},{"type":"object","properties":{"unitTitle":{"type":"string"},"unitOrder":{"type":"number"},"unitSlug":{"type":"string","description":"The unique slug identifier for the unit"},"categories":{"type":"array","items":{"type":"object","properties":{"categoryTitle":{"type":"string","description":"The title of the category"},"categorySlug":{"description":"The unique identifier for the category","type":"string"}},"required":["categoryTitle"],"additionalProperties":false}},"threads":{"type":"array","items":{"type":"object","properties":{"threadTitle":{"type":"string","description":"The title of the category"},"threadSlug":{"type":"string","description":"The unique identifier for the thread"},"order":{"type":"number","description":"Deprecated"}},"required":["threadTitle","threadSlug","order"],"additionalProperties":false}},"examBoards":{"description":"The exam boards the unit appears in. Only populated when the sequence is requested without an exam board (e.g. `science-secondary` rather than `science-secondary-aqa`).","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The title of the exam board"},"slug":{"type":"string","description":"The slug of the exam board"}},"required":["title","slug"],"additionalProperties":false}}},"required":["unitTitle","unitOrder","unitSlug"],"additionalProperties":false}]}}},"required":["examSubjectTitle","units"],"additionalProperties":false}]},"description":"Only used in secondary science. Contains a full year's unit sequences based on which subject is being studied at KS4."}},"required":["year","examSubjects"],"additionalProperties":false},{"type":"object","properties":{"year":{"type":"number"},"title":{"type":"string"},"tiers":{"type":"array","items":{"type":"object","properties":{"tierTitle":{"type":"string","description":"The title of the tier"},"tierSlug":{"type":"string","description":"The tier identifier"},"units":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"unitTitle":{"type":"string","description":"The title of the unit"},"unitOrder":{"type":"number","description":"The position of the unit within the sequence."},"unitOptions":{"type":"array","items":{"type":"object","properties":{"unitTitle":{"type":"string"},"unitSlug":{"type":"string"}},"required":["unitTitle","unitSlug"],"additionalProperties":false},"description":"The unique slug identifier for the unit"},"categories":{"description":"The categories (if any) that are assigned to the unit. If the unit does not have any categories, this property is omitted.","type":"array","items":{"type":"object","properties":{"categoryTitle":{"type":"string","description":"The title of the category"},"categorySlug":{"description":"The unique identifier for the category","type":"string"}},"required":["categoryTitle"],"additionalProperties":false}},"threads":{"description":"A list of threads (if any) that are assigned to the unit. If the unit does not have any categories, this property is omitted.","type":"array","items":{"type":"object","properties":{"threadTitle":{"type":"string","description":"The title of the category"},"threadSlug":{"type":"string","description":"The unique identifier for the thread"},"order":{"type":"number","description":"Deprecated"}},"required":["threadTitle","threadSlug","order"],"additionalProperties":false}},"examBoards":{"description":"The exam boards the unit appears in. Only populated when the sequence is requested without an exam board (e.g. `science-secondary` rather than `science-secondary-aqa`).","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The title of the exam board"},"slug":{"type":"string","description":"The slug of the exam board"}},"required":["title","slug"],"additionalProperties":false}}},"required":["unitTitle","unitOrder","unitOptions"],"additionalProperties":false},{"type":"object","properties":{"unitTitle":{"type":"string"},"unitOrder":{"type":"number"},"unitSlug":{"type":"string","description":"The unique slug identifier for the unit"},"categories":{"type":"array","items":{"type":"object","properties":{"categoryTitle":{"type":"string","description":"The title of the category"},"categorySlug":{"description":"The unique identifier for the category","type":"string"}},"required":["categoryTitle"],"additionalProperties":false}},"threads":{"type":"array","items":{"type":"object","properties":{"threadTitle":{"type":"string","description":"The title of the category"},"threadSlug":{"type":"string","description":"The unique identifier for the thread"},"order":{"type":"number","description":"Deprecated"}},"required":["threadTitle","threadSlug","order"],"additionalProperties":false}},"examBoards":{"description":"The exam boards the unit appears in. Only populated when the sequence is requested without an exam board (e.g. `science-secondary` rather than `science-secondary-aqa`).","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The title of the exam board"},"slug":{"type":"string","description":"The slug of the exam board"}},"required":["title","slug"],"additionalProperties":false}}},"required":["unitTitle","unitOrder","unitSlug"],"additionalProperties":false}]}}},"required":["tierTitle","tierSlug","units"],"additionalProperties":false}}},"required":["year","tiers"],"additionalProperties":false}]},"example":[{"year":1,"units":[{"unitTitle":"Speaking and Listening","unitOrder":1,"unitSlug":"speaking-and-listening","categories":[{"categoryTitle":"Reading, writing & oracy"}],"threads":[{"threadTitle":"Developing spoken language","threadSlug":"developing-spoken-language","order":8}]}]}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/lessons/{lesson}/transcript":{"get":{"operationId":"getLessonTranscriptGetLessonTranscript","summary":"Lesson video transcript","description":"Use when you have a lesson slug and need the video transcript — for accessibility, captioning, or text analysis. Returns the transcript as an array of sentences plus a raw WebVTT captions file (vtt) suitable for a <track> element.\n\nNot for: searching across transcripts (GET /search/transcripts); the video file itself (GET /lessons/{lesson}/assets/{type} with type=video); lesson metadata (GET /lessons/{lesson}/summary).","tags":["lessons"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"lesson","schema":{"type":"string","description":"The unique slug identifier for the lesson","example":"creating-a-new-word"},"required":true,"description":"The unique slug identifier for the lesson"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"transcript":{"type":"string","description":"The transcript for the lesson video"},"vtt":{"type":"string","description":"The contents of the .vtt file for the lesson video, which maps captions to video timestamps."}},"required":["transcript","vtt"],"additionalProperties":false,"example":{"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..."}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/search/transcripts":{"get":{"operationId":"searchTranscriptsSearchTranscripts","summary":"Lesson search by video transcript","description":"Use when you want to search the spoken content of lesson videos. Returns up to 5 lessons whose transcripts contain similar text, each with a transcript snippet showing the match. No filters; searches every published transcript.\n\nNot for: terms in the lesson title (GET /search/lessons); metadata for a known lesson (GET /lessons/{lesson}/summary); a transcript by slug (GET /lessons/{lesson}/transcript).\n\nExample queries: the mitochondria are the powerhouse, to be or not to be, carry the one.","tags":["search"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"query","name":"q","schema":{"type":"string","description":"A snippet of text to search for in the lesson video transcripts","example":"Who were the romans?"},"required":true,"description":"A snippet of text to search for in the lesson video transcripts"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"lessonTitle":{"type":"string","description":"The lesson title"},"lessonSlug":{"type":"string","description":"The lesson slug identifier"},"transcriptSnippet":{"type":"string","description":"The snippet of the transcript that matched the search term"}},"required":["lessonTitle","lessonSlug"],"additionalProperties":false},"example":[{"lessonTitle":"The Roman invasion of Britain ","lessonSlug":"the-roman-invasion-of-britain","transcriptSnippet":"The Romans were ready,"},{"lessonTitle":"The changes to life brought about by Roman settlement","lessonSlug":"the-changes-to-life-brought-about-by-roman-settlement","transcriptSnippet":"when the Romans came."},{"lessonTitle":"Boudica's rebellion against Roman rule","lessonSlug":"boudicas-rebellion-against-roman-rule","transcriptSnippet":"kings who resisted the Romans were,"},{"lessonTitle":"How far religion changed under Roman rule","lessonSlug":"how-far-religion-changed-under-roman-rule","transcriptSnippet":"for the Romans."}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/sequences/{sequence}/assets":{"get":{"operationId":"getAssetsGetSequenceAssets","summary":"Downloadable assets in a sequence","description":"Use when you need every downloadable asset across a whole sequence — all programmes combined. Returns assets grouped by lesson in unit sequence order, with signed download URLs, asset type, lesson title and slug, and attribution. Pass year as an optional filter. Narrow further with type (one of: slideDeck, starterQuiz, starterQuizAnswers, exitQuiz, exitQuizAnswers, worksheet, worksheetAnswers, supplementaryResource, video). Lesson content is under OGL v3.0; assets are either Oak-owned or third-party under an OGL-compatible licence. Attribution required — see https://open-api.thenational.academy/docs/about-oaks-api/terms.\n\nNot for: assets in a single programme (GET /programmes/{programme}/assets); a single lesson's downloads (GET /lessons/{lesson}/assets); streaming one file (GET /lessons/{lesson}/assets/{type}); assets for a key stage + subject without programme structure (GET /key-stages/{keyStage}/subject/{subject}/assets).","tags":["assets","sequences"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"sequence","schema":{"type":"string","description":"The sequence slug identifier, including the key stage 4 option where relevant.","example":"english-primary"},"required":true,"description":"The sequence slug identifier, including the key stage 4 option where relevant."},{"in":"query","name":"year","schema":{"type":"number","description":"The year group to filter by. For the physical-education-primary sequence, a value of all-years can also be used.","example":3},"description":"The year group to filter by. For the physical-education-primary sequence, a value of all-years can also be used."},{"in":"query","name":"type","schema":{"type":"string","enum":["slideDeck","exitQuiz","exitQuizAnswers","starterQuiz","starterQuizAnswers","supplementaryResource","video","worksheet","worksheetAnswers"],"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint","example":"slideDeck"},"description":"Optional asset type specifier\n\nAvailable values: slideDeck, exitQuiz, exitQuizAnswers, starterQuiz, starterQuizAnswers, supplementaryResource, video, worksheet, worksheetAnswers"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"lessonSlug":{"type":"string","description":"The unique slug identifier for the lesson"},"lessonTitle":{"type":"string","description":"The title for the lesson"},"attribution":{"description":"Licence information for any third-party content contained in the lessons' downloadable resources","type":"array","items":{"type":"string"}},"assets":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["slideDeck","exitQuiz","exitQuizAnswers","starterQuiz","starterQuizAnswers","supplementaryResource","video","worksheet","worksheetAnswers"],"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint","example":"slideDeck"},"label":{"type":"string","description":"The label for the asset"},"url":{"type":"string","description":"The download endpoint for the asset."}},"required":["type","label","url"],"additionalProperties":false},"description":"List of assets"}},"required":["lessonSlug","lessonTitle","assets"],"additionalProperties":false},"example":[{"lessonSlug":"using-numerals","lessonTitle":"Using numerals","assets":[{"label":"Worksheet","type":"worksheet","url":"https://open-api.thenational.academy/api/v1/lessons/using-numerals/assets/worksheet"},{"label":"Worksheet Answers","type":"worksheetAnswers","url":"https://open-api.thenational.academy/api/v1/lessons/using-numerals/assets/worksheetAnswers"},{"label":"Video","type":"video","url":"https://open-api.thenational.academy/api/v1/lessons/using-numerals/assets/video"}]}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/key-stages/{keyStage}/subject/{subject}/assets":{"get":{"operationId":"getAssetsGetSubjectAssets","summary":"Downloadable assets by key stage and subject","description":"Use when you want every downloadable asset for a key stage + subject, without programme structure or unit sequence order, optionally scoped to a unit or asset type. Returns assets grouped by lesson, each with signed download URLs, asset type, lesson title and slug, and attribution. Pass unit to restrict to one unit and type to restrict to one asset type (one of: slideDeck, starterQuiz, starterQuizAnswers, exitQuiz, exitQuizAnswers, worksheet, worksheetAnswers, supplementaryResource, video). Lesson content is under OGL v3.0; assets are either Oak-owned or third-party under an OGL-compatible licence. Attribution required — see https://open-api.thenational.academy/docs/about-oaks-api/terms.\n\nNot for: assets across a sequence (GET /sequences/{sequence}/assets); assets in one programme (GET /programmes/{programme}/assets); a single lesson's downloads (GET /lessons/{lesson}/assets); streaming one file (GET /lessons/{lesson}/assets/{type}).","tags":["assets"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"keyStage","schema":{"type":"string","enum":["ks1","ks2","ks3","ks4"],"description":"Key stage slug to filter by, e.g. 'ks3'","example":"ks3"},"required":true,"description":"Key stage slug to filter by, e.g. 'ks3'"},{"in":"path","name":"subject","schema":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"],"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)","example":"english"},"required":true,"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)"},{"in":"query","name":"type","schema":{"type":"string","enum":["slideDeck","exitQuiz","exitQuizAnswers","starterQuiz","starterQuizAnswers","supplementaryResource","video","worksheet","worksheetAnswers"],"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint","example":"slideDeck"},"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint"},{"in":"query","name":"unit","schema":{"type":"string","description":"Optional unit slug to additionally filter by"},"description":"Optional unit slug to additionally filter by"},{"in":"query","name":"offset","schema":{"default":0,"type":"number","description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point","example":0},"description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point"},{"in":"query","name":"limit","schema":{"default":20,"type":"number","maximum":300,"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons","example":20},"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"lessonSlug":{"type":"string","description":"The unique slug identifier for the lesson"},"lessonTitle":{"type":"string","description":"The title for the lesson"},"attribution":{"description":"Licence information for any third-party content contained in the lessons' downloadable resources","type":"array","items":{"type":"string"}},"assets":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["slideDeck","exitQuiz","exitQuizAnswers","starterQuiz","starterQuizAnswers","supplementaryResource","video","worksheet","worksheetAnswers"],"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint","example":"slideDeck"},"label":{"type":"string","description":"The label for the asset"},"url":{"type":"string","description":"The download endpoint for the asset."}},"required":["type","label","url"],"additionalProperties":false},"description":"List of assets"}},"required":["lessonSlug","lessonTitle","assets"],"additionalProperties":false},"example":[{"lessonSlug":"using-numerals","lessonTitle":"Using numerals","assets":[{"label":"Worksheet","type":"worksheet","url":"https://open-api.thenational.academy/api/v1/lessons/using-numerals/assets/worksheet"},{"label":"Worksheet Answers","type":"worksheetAnswers","url":"https://open-api.thenational.academy/api/v1/lessons/using-numerals/assets/worksheetAnswers"},{"label":"Video","type":"video","url":"https://open-api.thenational.academy/api/v1/lessons/using-numerals/assets/video"}]}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/lessons/{lesson}/assets":{"get":{"operationId":"getAssetsGetLessonAssets","summary":"Downloadable assets for a lesson","description":"Use when you have a lesson slug and need the list of what's downloadable. Returns every available asset type with a signed download URL per asset and attribution. The 9 type values are: slideDeck, starterQuiz, starterQuizAnswers, exitQuiz, exitQuizAnswers, worksheet, worksheetAnswers, supplementaryResource, video. Pass type to return only one. Lesson content is under OGL v3.0; assets are either Oak-owned or third-party under an OGL-compatible licence. Attribution required — see https://open-api.thenational.academy/docs/about-oaks-api/terms.\n\nNot for: streaming the file itself (GET /lessons/{lesson}/assets/{type}); bulk asset retrieval across a key stage + subject (GET /key-stages/{keyStage}/subject/{subject}/assets), a sequence (GET /sequences/{sequence}/assets), or one programme (GET /programmes/{programme}/assets); lesson metadata (GET /lessons/{lesson}/summary).","tags":["assets","lessons"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"lesson","schema":{"type":"string","description":"The unique slug identifier for the lesson","example":"creating-a-new-word"},"required":true,"description":"The unique slug identifier for the lesson"},{"in":"query","name":"type","schema":{"type":"string","enum":["slideDeck","exitQuiz","exitQuizAnswers","starterQuiz","starterQuizAnswers","supplementaryResource","video","worksheet","worksheetAnswers"],"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint","example":"slideDeck"},"description":"Optional asset type specifier\n\nAvailable values: slideDeck, exitQuiz, exitQuizAnswers, starterQuiz, starterQuizAnswers, supplementaryResource, video, worksheet, worksheetAnswers"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"oakUrl":{"type":"string","format":"uri","description":"The Oak National URL for the lesson"},"attribution":{"description":"Licence information for any third-party content contained in the lessons' downloadable resources","type":"array","items":{"type":"string"}},"assets":{"description":"List of assets","type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["slideDeck","exitQuiz","exitQuizAnswers","starterQuiz","starterQuizAnswers","supplementaryResource","video","worksheet","worksheetAnswers"],"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint","example":"slideDeck"},"label":{"type":"string","description":"The label for the asset"},"url":{"type":"string","description":"The download endpoint for the asset."}},"required":["type","label","url"],"additionalProperties":false}}},"required":["oakUrl"],"additionalProperties":false,"example":{"oakUrl":"https://www.thenational.academy/teachers/lessons/using-numerals","attribution":["Copyright XYZ Authors","Creative Commons Attribution Example 4.0"],"assets":[{"label":"Worksheet","type":"worksheet","url":"https://open-api.thenational.academy/api/v1/lessons/using-numerals/assets/worksheet"},{"label":"Worksheet Answers","type":"worksheetAnswers","url":"https://open-api.thenational.academy/api/v1/lessons/using-numerals/assets/worksheetAnswers"},{"label":"Video","type":"video","url":"https://open-api.thenational.academy/api/v1/lessons/using-numerals/assets/video"}]}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/programmes/{programme}/assets":{"get":{"operationId":"getAssetsGetProgrammeAssets","summary":"Downloadable assets in a programme","description":"Use when you need every downloadable asset for a single programme (year group) within a subject. Returns assets grouped by lesson with signed download URLs, asset type, lesson title and slug, and attribution. Supports offset/limit pagination; Link: rel=\"next\" header signals more pages. Optionally narrow by asset type (one of: slideDeck, starterQuiz, starterQuizAnswers, exitQuiz, exitQuizAnswers, worksheet, worksheetAnswers, supplementaryResource, video). Lesson content is under OGL v3.0; assets are either Oak-owned or third-party under an OGL-compatible licence. Attribution required — see https://open-api.thenational.academy/docs/about-oaks-api/terms.\n\nNot for: assets across a whole sequence (GET /sequences/{sequence}/assets); assets for a key stage + subject without programme structure (GET /key-stages/{keyStage}/subject/{subject}/assets); a single lesson's downloads (GET /lessons/{lesson}/assets); streaming one file (GET /lessons/{lesson}/assets/{type}).","tags":["assets","programmes"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"programme","schema":{"type":"string","description":"The programme slug identifier"},"required":true,"description":"The programme slug identifier"},{"in":"query","name":"offset","schema":{"default":0,"type":"number","description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point","example":0},"description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point"},{"in":"query","name":"limit","schema":{"default":20,"type":"number","maximum":300,"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons","example":20},"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons"},{"in":"query","name":"type","schema":{"type":"string","enum":["slideDeck","exitQuiz","exitQuizAnswers","starterQuiz","starterQuizAnswers","supplementaryResource","video","worksheet","worksheetAnswers"],"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint","example":"slideDeck"},"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"lessonSlug":{"type":"string","description":"The unique slug identifier for the lesson"},"lessonTitle":{"type":"string","description":"The title for the lesson"},"attribution":{"description":"Licence information for any third-party content contained in the lessons' downloadable resources","type":"array","items":{"type":"string"}},"assets":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["slideDeck","exitQuiz","exitQuizAnswers","starterQuiz","starterQuizAnswers","supplementaryResource","video","worksheet","worksheetAnswers"],"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint","example":"slideDeck"},"label":{"type":"string","description":"The label for the asset"},"url":{"type":"string","description":"The download endpoint for the asset."}},"required":["type","label","url"],"additionalProperties":false},"description":"List of assets"}},"required":["lessonSlug","lessonTitle","assets"],"additionalProperties":false},"example":[{"lessonSlug":"variables-and-data-types","lessonTitle":"Variables and data types","assets":[{"label":"Worksheet","type":"worksheet","url":"https://open-api.thenational.academy/api/v1/lessons/variables-and-data-types/assets/worksheet"},{"label":"Slide Deck","type":"slideDeck","url":"https://open-api.thenational.academy/api/v1/lessons/variables-and-data-types/assets/slideDeck"}]}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/lessons/{lesson}/assets/{type}":{"get":{"operationId":"getAssetsGetLessonAsset","summary":"Stream a lesson asset file","description":"Use when you want to download one specific asset for a lesson — slide deck, worksheet, etc. Returns the file directly. Call GET /lessons/{lesson}/assets first to see which type values are available. Valid type values: slideDeck, starterQuiz, starterQuizAnswers, exitQuiz, exitQuizAnswers, worksheet, worksheetAnswers, supplementaryResource, video. Lesson content is under OGL v3.0; assets are either Oak-owned or third-party under an OGL-compatible licence. Attribution required — see https://open-api.thenational.academy/docs/about-oaks-api/terms.\n\nNot for: listing which asset types a lesson has (GET /lessons/{lesson}/assets); fetching the transcript (GET /lessons/{lesson}/transcript).","tags":["assets","lessons"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"lesson","schema":{"type":"string","description":"The unique slug identifier for the lesson","example":"creating-a-new-word"},"required":true,"description":"The unique slug identifier for the lesson"},{"in":"path","name":"type","schema":{"type":"string","enum":["slideDeck","exitQuiz","exitQuizAnswers","starterQuiz","starterQuizAnswers","supplementaryResource","video","worksheet","worksheetAnswers"],"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint","example":"slideDeck"},"required":true,"description":"Use this type and the lesson slug in conjunction to get a signed download URL to the asset type from the /api/lessons/{slug}/assets/{type} endpoint"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"example":{}}}}},"302":{"description":"Redirect to the video file. Returned only for `type=video` — the file is served from a CDN, so follow the `Location` header to download it.","headers":{"Location":{"description":"Absolute URL of the video file to download.","schema":{"type":"string","format":"uri"}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/subjects":{"get":{"operationId":"getSubjectsGetAllSubjects","summary":"All subjects","description":"Use when you need every subject in one call — the entry point for a subject picker or for crawling the whole curriculum. Returns subjects alphabetically, each with subjectTitle, subjectSlug, sequenceSlugs, keyStages, and years. sequenceSlugs lists the sequences available for that subject; each sequence contains one programme per year group — call GET /subjects/{subject}/programmes to enumerate them.\n\nNot for: a single subject (GET /subjects/{subject}); the key stages or year groups for a subject (GET /subjects/{subject}/key-stages or GET /subjects/{subject}/years); lessons or units inside a subject (GET /key-stages/{keyStage}/subject/{subject}/lessons or GET /key-stages/{keyStage}/subject/{subject}/units); the detail of one sequence (GET /sequences/{sequence}).","tags":["lists"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"]},"example":["art","computing","english"]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/subjects/{subject}":{"get":{"operationId":"getSubjectsGetSubject","summary":"Single subject with sequences, key stages, and years","description":"Use when you have a subject slug. Returns subjectTitle, subjectSlug, sequenceSlugs, keyStages, and years. sequenceSlugs lists the sequences available for this subject; each sequence contains one programme per year group — call GET /subjects/{subject}/programmes to enumerate them.\n\nNot for: every subject in one call (GET /subjects); the key stages or year groups for a subject (GET /subjects/{subject}/key-stages or GET /subjects/{subject}/years); subject-scoped lessons or units (GET /key-stages/{keyStage}/subject/{subject}/lessons or GET /key-stages/{keyStage}/subject/{subject}/units); the detail of one sequence (GET /sequences/{sequence}).\n\nExample: subject=maths.","tags":["lists"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"subject","schema":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"],"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)","example":"english"},"required":true,"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"subjectTitle":{"type":"string","description":"The subject title"},"subjectSlug":{"type":"string","description":"The subject slug identifier"},"sequenceSlugs":{"type":"array","items":{"type":"object","properties":{"sequenceSlug":{"type":"string","description":"The unique identifier for each sequence"},"years":{"type":"array","items":{"type":"number"},"description":"The years for which this subject has content available for"},"keyStages":{"type":"array","items":{"type":"object","properties":{"keyStageTitle":{"type":"string","description":"The key stage title for the given key stage"},"keyStageSlug":{"type":"string","description":"The unique identifier for a given key stage"}},"required":["keyStageTitle","keyStageSlug"],"additionalProperties":false},"description":"The key stage slug identifiers for which this subject has content available for."},"phaseSlug":{"type":"string","description":"The unique identifier for the phase to which this sequence belongs"},"phaseTitle":{"type":"string","description":"The title for the phase to which this sequence belongs"}},"required":["sequenceSlug","years","keyStages","phaseSlug","phaseTitle"],"additionalProperties":false},"description":"Information about the years, key stages and key stage 4 variance for each sequence"},"years":{"type":"array","items":{"type":"number"},"description":"The years for which this subject has content available for"},"keyStages":{"type":"array","items":{"type":"object","properties":{"keyStageTitle":{"type":"string","description":"The key stage title for the given key stage"},"keyStageSlug":{"type":"string","description":"The unique identifier for a given key stage"}},"required":["keyStageTitle","keyStageSlug"],"additionalProperties":false},"description":"The key stage slug identifiers for which this subject has content available for."},"ks4ProgrammeFactors":{"type":"object","properties":{"examBoard":{"description":"The valid exam board values offered by Oak for this subject at key stage 4.","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The display title for a valid programme factor value"},"slug":{"type":"string","description":"The slug identifier for a valid programme factor value"}},"required":["title","slug"],"additionalProperties":false}},"pathway":{"description":"The valid pathway values offered by Oak for this subject at key stage 4.","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The display title for a valid programme factor value"},"slug":{"type":"string","description":"The slug identifier for a valid programme factor value"}},"required":["title","slug"],"additionalProperties":false}},"tier":{"description":"The valid tier values offered by Oak for this subject at key stage 4.","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The display title for a valid programme factor value"},"slug":{"type":"string","description":"The slug identifier for a valid programme factor value"}},"required":["title","slug"],"additionalProperties":false}},"childSubject":{"description":"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.","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The display title for a valid programme factor value"},"slug":{"type":"string","description":"The slug identifier for a valid programme factor value"}},"required":["title","slug"],"additionalProperties":false}}},"additionalProperties":false,"description":"The programme factors that apply to this subject at key stage 4, with the valid values for each factor."}},"required":["subjectTitle","subjectSlug","sequenceSlugs","years","keyStages","ks4ProgrammeFactors"],"additionalProperties":false,"example":{"subjectTitle":"English","subjectSlug":"english","sequenceSlugs":[{"sequenceSlug":"english-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":"english-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":"english-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":"english-secondary-eduqas","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":"Eduqas","slug":"eduqas"}]}}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/subjects/{subject}/key-stages":{"get":{"operationId":"getSubjectsGetSubjectKeyStages","summary":"Key stages for a subject","description":"Use when you only need the key stages where this subject is available. Returns key-stage titles and slugs.\n\nNot for: every key stage (GET /key-stages); the subject record (GET /subjects/{subject}).\n\nExample: 'subject=history'.","tags":["lists"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"subject","schema":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"],"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)","example":"english"},"required":true,"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"keyStageTitle":{"type":"string","description":"The key stage title for the given key stage"},"keyStageSlug":{"type":"string","description":"The unique identifier for a given key stage"}},"required":["keyStageTitle","keyStageSlug"],"additionalProperties":false},"description":"The key stage slug identifiers for which this subject has content available for","example":[{"keyStageTitle":"Key Stage 1","keyStageSlug":"ks1"},{"keyStageTitle":"Key Stage 2","keyStageSlug":"ks2"},{"keyStageTitle":"Key Stage 3","keyStageSlug":"ks3"},{"keyStageTitle":"Key Stage 4","keyStageSlug":"ks4"}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/subjects/{subject}/years":{"get":{"operationId":"getSubjectsGetSubjectYears","summary":"Year groups for a subject","description":"Use when you only need the year groups where this subject is available. Returns an array of year numbers, derived from the subject's key stages.\n\nNot for: the subject record (GET /subjects/{subject}); key stages rather than year groups (GET /subjects/{subject}/key-stages).\n\nExample: 'subject=english'.","tags":["lists"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"subject","schema":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"],"example":"cooking-nutrition","description":"Subject slug to filter by"},"required":true,"description":"Subject slug to filter by"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"number"},"description":"The years for which this sequence has content available for","example":[1,2,3,4,5,6,7,8,9]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/key-stages":{"get":{"operationId":"getKeyStagesGetKeyStages","summary":"All key stages","description":"Use when you need the master list of key stages. Returns every key stage with its title and slug.\n\nNot for: key stages restricted to a subject (GET /subjects/{subject}/key-stages).","tags":["lists"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","description":"The key stage slug identifier"},"title":{"type":"string","description":"The key stage title"}},"required":["slug","title"],"additionalProperties":false},"example":[{"slug":"ks1","title":"Key Stage 1"}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/key-stages/{keyStage}/subject/{subject}/lessons":{"get":{"operationId":"getKeyStageSubjectLessonsGetKeyStageSubjectLessons","summary":"List lessons in a key stage and subject","description":"Use when you want every published lesson in a key stage + subject, grouped by unit, without programme structure or unit sequence order. Returns an array of units, each with slug, title, and the lessons inside. Pass unit to restrict to one. Supports offset/limit pagination; Link: rel=\"next\" header signals more pages.\n\nNot for: finding a lesson from a search term (GET /search/lessons); a single lesson's metadata (GET /lessons/{lesson}/summary); all units across a sequence (GET /sequences/{sequence}/units); units in one programme (GET /programmes/{programme}/units).\n\nExample: keyStage=ks3, subject=maths, unit=perimeter-and-area.","tags":["lists","lessons"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"keyStage","schema":{"type":"string","enum":["ks1","ks2","ks3","ks4"],"description":"Key stage slug to filter by, e.g. 'ks3'","example":"ks3"},"required":true,"description":"Key stage slug to filter by, e.g. 'ks3'"},{"in":"path","name":"subject","schema":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"],"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)","example":"english"},"required":true,"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)"},{"in":"query","name":"unit","schema":{"type":"string","description":"Optional unit slug to additionally filter by"},"description":"Optional unit slug to additionally filter by"},{"in":"query","name":"offset","schema":{"default":0,"type":"number","description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point","example":0},"description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point"},{"in":"query","name":"limit","schema":{"default":20,"type":"number","maximum":300,"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons","example":20},"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"unitSlug":{"type":"string","description":"The unit slug identifier"},"unitTitle":{"type":"string","description":"The unit title"},"lessons":{"type":"array","items":{"type":"object","properties":{"lessonSlug":{"type":"string","description":"The lesson slug identifier"},"lessonTitle":{"type":"string","description":"The lesson title"}},"required":["lessonSlug","lessonTitle"],"additionalProperties":false},"description":"List of lessons for the specified unit"}},"required":["unitSlug","unitTitle","lessons"],"additionalProperties":false},"example":[{"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"}]}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/key-stages/{keyStage}/subject/{subject}/check-restricted":{"get":{"operationId":"getKeyStageSubjectLessonsGetKeyStageSubjectLessonRestrictions","summary":"List lesson TPC restrictions in a key stage and subject","description":"Use when you want every published lesson in a key stage + subject, grouped by unit, without programme structure or unit sequence order. Returns an array of units, each with slug, title, and the lessons inside. Pass unit to restrict to one. Supports offset/limit pagination; Link: rel=\"next\" header signals more pages.\nNot for: finding a lesson from a search term (GET /search/lessons); a single lesson's metadata (GET /lessons/{lesson}/summary); all units across a sequence (GET /sequences/{sequence}/units); units in one programme (GET /programmes/{programme}/units).\n\nExample: keyStage=ks3, subject=maths, unit=perimeter-and-area.","tags":["lists","lessons"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"keyStage","schema":{"type":"string","enum":["ks1","ks2","ks3","ks4"],"description":"Key stage slug to filter by, e.g. 'ks3'","example":"ks3"},"required":true,"description":"Key stage slug to filter by, e.g. 'ks3'"},{"in":"path","name":"subject","schema":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"],"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)","example":"english"},"required":true,"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)"},{"in":"query","name":"unit","schema":{"type":"string","description":"Optional unit slug to additionally filter by"},"description":"Optional unit slug to additionally filter by"},{"in":"query","name":"offset","schema":{"default":0,"type":"number","description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point","example":0},"description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point"},{"in":"query","name":"limit","schema":{"default":20,"type":"number","maximum":300,"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons","example":20},"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","enum":["ogl-compatible","restricted"]},"example":{"joining-using-and":"ogl-compatible","restricted-lesson":"restricted"}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/key-stages/{keyStage}/subject/{subject}/units":{"get":{"operationId":"getAllKeyStageAndSubjectUnitsGetAllKeyStageAndSubjectUnits","summary":"Units in a key stage and subject","description":"Use when you want a flat list of every unit with published lessons in a key stage + subject, without programme structure or unit sequence order. Returns units grouped by year slug; units without published lessons are omitted. Pass examBoard to restrict KS4 to one board (one of: aqa, edexcel (Edexcel A), eduqas, ocr, wjec, edexcelb (Edexcel B)); otherwise each unit lists the boards it appears in.\n\nNot for: all units across a sequence (GET /sequences/{sequence}/units); units in one programme (GET /programmes/{programme}/units); a single unit (GET /units/{unit}/summary); lessons rather than units (GET /key-stages/{keyStage}/subject/{subject}/lessons); units in a thread (GET /threads/{threadSlug}/units).","tags":["lists","units"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"keyStage","schema":{"type":"string","enum":["ks1","ks2","ks3","ks4"],"description":"Key stage slug to filter by, e.g. 'ks3'","example":"ks3"},"required":true,"description":"Key stage slug to filter by, e.g. 'ks3'"},{"in":"path","name":"subject","schema":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"],"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)","example":"english"},"required":true,"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)"},{"in":"query","name":"examBoard","schema":{"type":"string","enum":["aqa","edexcel","eduqas","ocr","wjec","edexcelb"]},"description":"Optional exam board slug to filter units by, e.g. 'aqa'. Only meaningful at KS4 where subjects are broken down by exam board."},{"in":"query","name":"offset","schema":{"default":0,"type":"number","description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point","example":0},"description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point"},{"in":"query","name":"limit","schema":{"default":20,"type":"number","maximum":300,"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons","example":20},"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"yearSlug":{"type":"string","description":"The year identifier"},"yearTitle":{"type":"string","description":"The year title"},"units":{"type":"array","items":{"type":"object","properties":{"unitSlug":{"type":"string","description":"The unit slug identifier"},"unitTitle":{"type":"string","description":"The unit title"},"examBoards":{"description":"The exam boards the unit appears in. Only populated for KS4 subjects when the request does not supply an `examBoard` filter.","type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The title of the exam board"},"slug":{"type":"string","description":"The slug of the exam board"}},"required":["title","slug"],"additionalProperties":false}}},"required":["unitSlug","unitTitle"],"additionalProperties":false},"description":"List of units for the specified year"}},"required":["yearSlug","yearTitle","units"],"additionalProperties":false},"example":[{"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"}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/subjects/{subject}/programmes":{"get":{"operationId":"getAllProgrammesForSubjectGetAllProgrammesForSubject","summary":"Get all programmes for a subject slug","description":"Use when you need to discover the programmes within a subject — to get a programme's slug for use with GET /programmes/{programme} or its sub-endpoints. Returns programmes grouped by key stage, each with year group, slug (e.g. y7, y10-biology-foundation), and applicable programme factors (exam board, tier, child subject).\n\nNot for: the metadata of one programme (GET /programmes/{programme}); the units, questions, or assets of one programme (GET /programmes/{programme}/units, GET /programmes/{programme}/questions, or GET /programmes/{programme}/assets); the sequence-level summary (GET /sequences/{sequence}).","tags":["programmes"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"subject","schema":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"],"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)","example":"english"},"required":true,"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"example":["english-secondary-year-7","english-secondary-year-8","english-secondary-year-9","english-secondary-year-10-aqa","english-secondary-year-10-edexcel","english-secondary-year-10-eduqas","english-secondary-year-11-aqa","english-secondary-year-11-edexcel","english-secondary-year-11-eduqas"]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/programmes/{programme}":{"get":{"operationId":"getAllProgrammesForSubjectGetProgramme","summary":"Get a programme by slug","description":"Use when you need to get the metadata of one programme. Get programme slugs from GET /subjects/{subject}/programmes. Returns the programme's year group, slug (e.g. y7, y10-biology-foundation), and applicable programme factors (exam board, tier, child subject).\n\nNot for: the units, questions, or assets of one programme (GET /programmes/{programme}/units, GET /programmes/{programme}/questions, or GET /programmes/{programme}/assets); the sequence-level summary (GET /sequences/{sequence}); all programmes for a subject (GET /subjects/{subject}/programmes).","tags":["programmes"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"programme","schema":{"type":"string","description":"The programme slug identifier","example":"english-secondary-year-10-edexcel"},"required":true,"description":"The programme slug identifier"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"examboardSlug":{"type":["string","null"]},"examboardTitle":{"type":["string","null"]},"keystageSlug":{"type":"string"},"keystageTitle":{"type":"string"},"pathwaySlug":{"type":["string","null"]},"pathwayTitle":{"type":["string","null"]},"phaseSlug":{"type":"string"},"phaseTitle":{"type":"string"},"subjectSlug":{"type":"string"},"subjectTitle":{"type":"string"},"tierSlug":{"type":["string","null"]},"tierTitle":{"type":["string","null"]},"yearSlug":{"type":"string"},"yearTitle":{"type":"string"}},"required":["examboardSlug","examboardTitle","keystageSlug","keystageTitle","pathwaySlug","pathwayTitle","phaseSlug","phaseTitle","subjectSlug","subjectTitle","tierSlug","tierTitle","yearSlug","yearTitle"],"additionalProperties":false,"example":{"examboardSlug":"aqa","examboardTitle":"AQA","keystageSlug":"ks4","keystageTitle":"Key Stage 4","pathwaySlug":null,"pathwayTitle":null,"phaseSlug":"secondary","phaseTitle":"Secondary","subjectSlug":"computing","subjectTitle":"Computing","tierSlug":null,"tierTitle":null,"yearSlug":"year-10","yearTitle":"Year 10"}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/programmes/{programme}/units":{"get":{"operationId":"getAllProgrammesForSubjectGetProgrammeUnits","summary":"Units in a programme","description":"Use when you need the unit sequence for one programme — units as an ordered arrangement designed to build knowledge progressively. Get programme slugs from GET /subjects/{subject}/programmes. Returns units in unit sequence order with title, slug, and any associated factors.\n\n  Not for: every unit across the whole sequence (GET /sequences/{sequence}/units); a flat list of units for a key stage + subject without programme structure (GET /key-stages/{keyStage}/subject/{subject}/units); a single unit (GET /units/{unit}/summary); units in a thread (GET /threads/{threadSlug}/units).","tags":["programmes","units"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"programme","schema":{"type":"string","description":"The programme slug identifier","example":"english-secondary-year-10-edexcel"},"required":true,"description":"The programme slug identifier"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"unitSlug":{"type":"string","description":"The unit slug identifier","example":"variables-and-data-types"},"unitTitle":{"type":"string","description":"The unit title","example":"Variables and data types"},"unitOrder":{"type":"number","description":"The unit order within the programme","example":1}},"required":["unitSlug","unitTitle","unitOrder"],"additionalProperties":false},"example":[{"unitSlug":"variables-and-data-types","unitTitle":"Variables and data types","unitOrder":1},{"unitSlug":"algorithms","unitTitle":"Algorithms","unitOrder":2}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/keywords":{"get":{"operationId":"getKeywordsGetKeywords","summary":"Keywords by subject and key stage","description":"Use when you want the vocabulary for a key stage, subject, unit, lesson, or phase — e.g. to build a glossary or attach definitions to content. Returns keywords with definition, the subject + key stage they appear in, and the lessons that use them, sorted alphabetically. All filters are optional, but pass at least one of keyStage, subject, unit, lesson, or phase.\n\nRequest rules:\n\n- At least one of subject, keyStage, phase, unit or lesson must be provided - note that they are all the slug form of the values (e.g. \"ks2\" for key stage 2, \"science\" for the science subject, and \"forces-and-magnets\" for the forces and magnets unit), and that casing is important (always lowercase).","tags":["lists"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"query","name":"subject","schema":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"],"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)","example":"english"},"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)"},{"in":"query","name":"keyStage","schema":{"type":"string","enum":["ks1","ks2","ks3","ks4"],"description":"Key stage slug to filter by, e.g. 'ks3'","example":"ks3"},"description":"Key stage slug to filter by, e.g. 'ks3'"},{"in":"query","name":"phase","schema":{"type":"string","enum":["primary","secondary"]},"description":"Phase to filter by, e.g. 'primary' or 'secondary'. Cannot be combined with keyStage."},{"in":"query","name":"unit","schema":{"type":"string"},"description":"Unit slug to search by, e.g. 'forces-and-magnets' - note that casing is important here (always lowercase)"},{"in":"query","name":"lesson","schema":{"type":"string","description":"The unique slug identifier for the lesson","example":"creating-a-new-word"},"description":"Lesson slug to search by"},{"in":"query","name":"offset","schema":{"default":0,"type":"number","description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point","example":0},"description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point"},{"in":"query","name":"limit","schema":{"default":20,"description":"Limit the number of keywords, e.g. return a maximum of 300 keywords","type":"number","maximum":300,"example":20},"description":"Limit the number of keywords, e.g. return a maximum of 300 keywords"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string","description":"The keyword text"},"description":{"type":"string","description":"A description of the keyword"},"keyStageSlug":{"type":"string","description":"The key stage slug associated with the keyword"},"subjectSlug":{"type":"string","description":"The subject slug associated with the keyword"},"lessonSlugs":{"type":"array","items":{"type":"string"},"description":"The different lesson slugs where this keyword is used"}},"required":["keyword","description","keyStageSlug","subjectSlug","lessonSlugs"],"additionalProperties":false},"example":[{"keyword":"'Macbeth'","description":"a play written by Shakespeare which includes the supernatural; it is a tragedy with a sad, violent ending","keyStageSlug":"ks3","subjectSlug":"english","lessonSlugs":["pucks-ambiguous-character"]},{"keyword":"a covert","description":"bushes growing close together in which hunted animals can hide","keyStageSlug":"ks3","subjectSlug":"english","lessonSlugs":["an-exploration-of-chapter-12-of-lord-of-the-flies"]}]}}}}}}},"/lessons/{lesson}/quiz":{"get":{"operationId":"getQuestionsGetQuestionsForLessons","summary":"Quiz questions for a lesson","description":"Use when you have a lesson slug and need its starter and exit quiz questions with correct answers marked. Returns two arrays, starterQuiz and exitQuiz; each question includes the prompt, the answers (with correct ones flagged), and which answers are distractors.\n\nNot for: quiz questions across a sequence (GET /sequences/{sequence}/questions); quiz questions in one programme (GET /programmes/{programme}/questions); across a key stage + subject (GET /key-stages/{keyStage}/subject/{subject}/questions); lesson metadata or assets (GET /lessons/{lesson}/summary or GET /lessons/{lesson}/assets).","tags":["lessons","questions"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"lesson","schema":{"type":"string","description":"The unique slug identifier for the lesson","example":"creating-a-new-word"},"required":true,"description":"The unique slug identifier for the lesson"},{"in":"query","name":"filter","schema":{"type":"string","enum":["images"],"description":"Optional filter for question results. Use `images` to return only questions with a question image or image answer."},"description":"Optional filter for question results. Use `images` to return only questions with a question image or image answer."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"starterQuiz":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"multiple-choice"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image"},"content":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false}],"type":"object"}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Multiple choice answer allows for one or more than one answer to be correct as defined by the distractor field being set to false"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"short-answer"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Short answers allow students to enter a free text answer, and the answers array contains a list of acceptable answers"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"match"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"matchOption":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (LHS)"},"correctChoice":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (RHS), indicating the correct choice"}},"required":["matchOption","correctChoice"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list from the `match_option` field in the answers array, and must correctly match them to the `correct_choice` value"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"order"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"order":{"type":"number","description":"Indicates the correct ordering of the response"},"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["order","type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list of items to order, and must correctly order them according to the `order` field. When presenting the answer options to the student, you should randomise the order of the items"}],"type":"object"},"description":"The starter quiz questions - which test prior knowledge","example":[{"question":"Where does a prefix come in a word?","questionType":"multiple-choice","answers":[{"type":"text","content":"At the beginning","distractor":false},{"type":"text","content":"In the middle","distractor":true},{"type":"text","content":"At the end","distractor":true},{"type":"text","content":"Underneath","distractor":true}]}]},"exitQuiz":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"multiple-choice"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image"},"content":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false}],"type":"object"}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Multiple choice answer allows for one or more than one answer to be correct as defined by the distractor field being set to false"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"short-answer"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Short answers allow students to enter a free text answer, and the answers array contains a list of acceptable answers"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"match"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"matchOption":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (LHS)"},"correctChoice":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (RHS), indicating the correct choice"}},"required":["matchOption","correctChoice"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list from the `match_option` field in the answers array, and must correctly match them to the `correct_choice` value"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"order"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"order":{"type":"number","description":"Indicates the correct ordering of the response"},"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["order","type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list of items to order, and must correctly order them according to the `order` field. When presenting the answer options to the student, you should randomise the order of the items"}],"type":"object"},"description":"The exit quiz questions - which test on the knowledge learned in the lesson","example":[{"question":"Smog is an example of: ","questionType":"multiple-choice","answers":[{"type":"text","content":"word blending","distractor":false},{"type":"text","content":"a compound","distractor":true},{"type":"text","content":"affixation","distractor":true},{"type":"text","content":"an acronym","distractor":true}]}]}},"required":["starterQuiz","exitQuiz"],"additionalProperties":false}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/sequences/{sequence}/questions":{"get":{"operationId":"getQuestionsGetQuestionsForSequence","summary":"Quiz questions across a sequence","description":"Use when you want every quiz question across a whole sequence — all programmes combined. Returns questions grouped by lesson in unit sequence order. Pass year as an optional filter to return only that year's questions. Supports offset and limit; Link: rel=\"next\" header signals more pages.\n\nNot for: questions in a single programme (GET /programmes/{programme}/questions); a single lesson's quiz (GET /lessons/{lesson}/quiz); questions for a key stage + subject without programme structure (GET /key-stages/{keyStage}/subject/{subject}/questions).","tags":["questions","sequences"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"sequence","schema":{"type":"string","description":"The sequence slug identifier, including the key stage 4 option where relevant.","example":"english-primary"},"required":true,"description":"The sequence slug identifier, including the key stage 4 option where relevant."},{"in":"query","name":"year","schema":{"type":"number","description":"The year group to filter by. For the physical-education-primary sequence, a value of all-years can also be used.","example":3},"description":"The year group to filter by. For the physical-education-primary sequence, a value of all-years can also be used."},{"in":"query","name":"offset","schema":{"default":0,"type":"number","description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point","example":0},"description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point"},{"in":"query","name":"limit","schema":{"default":20,"type":"number","maximum":300,"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons","example":20},"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons"},{"in":"query","name":"filter","schema":{"type":"string","enum":["images"],"description":"Optional filter for question results. Use `images` to return only questions with a question image or image answer."},"description":"Optional filter for question results. Use `images` to return only questions with a question image or image answer."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"lessonSlug":{"type":"string","description":"The unique slug identifier for the lesson","example":"creating-a-new-word"},"lessonTitle":{"type":"string","description":"The title of the lesson","example":"Creating a new word"},"starterQuiz":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"multiple-choice"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image"},"content":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false}],"type":"object"}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Multiple choice answer allows for one or more than one answer to be correct as defined by the distractor field being set to false"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"short-answer"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Short answers allow students to enter a free text answer, and the answers array contains a list of acceptable answers"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"match"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"matchOption":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (LHS)"},"correctChoice":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (RHS), indicating the correct choice"}},"required":["matchOption","correctChoice"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list from the `match_option` field in the answers array, and must correctly match them to the `correct_choice` value"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"order"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"order":{"type":"number","description":"Indicates the correct ordering of the response"},"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["order","type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list of items to order, and must correctly order them according to the `order` field. When presenting the answer options to the student, you should randomise the order of the items"}],"type":"object"},"description":"The starter quiz questions - which test prior knowledge","example":[{"question":"Where does a prefix come in a word?","questionType":"multiple-choice","answers":[{"type":"text","content":"At the beginning","distractor":false},{"type":"text","content":"In the middle","distractor":true},{"type":"text","content":"At the end","distractor":true},{"type":"text","content":"Underneath","distractor":true}]}]},"exitQuiz":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"multiple-choice"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image"},"content":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false}],"type":"object"}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Multiple choice answer allows for one or more than one answer to be correct as defined by the distractor field being set to false"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"short-answer"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Short answers allow students to enter a free text answer, and the answers array contains a list of acceptable answers"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"match"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"matchOption":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (LHS)"},"correctChoice":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (RHS), indicating the correct choice"}},"required":["matchOption","correctChoice"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list from the `match_option` field in the answers array, and must correctly match them to the `correct_choice` value"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"order"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"order":{"type":"number","description":"Indicates the correct ordering of the response"},"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["order","type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list of items to order, and must correctly order them according to the `order` field. When presenting the answer options to the student, you should randomise the order of the items"}],"type":"object"},"description":"The exit quiz questions - which test on the knowledge learned in the lesson","example":[{"question":"Smog is an example of: ","questionType":"multiple-choice","answers":[{"type":"text","content":"word blending","distractor":false},{"type":"text","content":"a compound","distractor":true},{"type":"text","content":"affixation","distractor":true},{"type":"text","content":"an acronym","distractor":true}]}]}},"required":["lessonSlug","lessonTitle","starterQuiz","exitQuiz"],"additionalProperties":false}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/key-stages/{keyStage}/subject/{subject}/questions":{"get":{"operationId":"getQuestionsGetQuestionsForKeyStageAndSubject","summary":"Quiz questions by key stage and subject","description":"Use when you want every quiz question for a key stage + subject, without programme structure or unit sequence order. Returns lessons each with starter and exit quiz questions and answers. Supports offset/limit pagination; Link: rel=\"next\" header signals more pages.\n\nNot for: a single lesson's quiz (GET /lessons/{lesson}/quiz); questions across a sequence (GET /sequences/{sequence}/questions); questions in one programme (GET /programmes/{programme}/questions).","tags":["questions"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"keyStage","schema":{"type":"string","enum":["ks1","ks2","ks3","ks4"],"description":"Key stage slug to filter by, e.g. 'ks3'","example":"ks3"},"required":true,"description":"Key stage slug to filter by, e.g. 'ks3'"},{"in":"path","name":"subject","schema":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"],"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)","example":"english"},"required":true,"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)"},{"in":"query","name":"offset","schema":{"default":0,"type":"number","description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point","example":0},"description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point"},{"in":"query","name":"limit","schema":{"default":20,"type":"number","maximum":300,"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons","example":20},"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons"},{"in":"query","name":"filter","schema":{"type":"string","enum":["images"],"description":"Optional filter for question results. Use `images` to return only questions with a question image or image answer."},"description":"Optional filter for question results. Use `images` to return only questions with a question image or image answer."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"lessonSlug":{"type":"string","description":"The unique slug identifier for the lesson","example":"creating-a-new-word"},"lessonTitle":{"type":"string","description":"The title of the lesson","example":"Creating a new word"},"starterQuiz":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"multiple-choice"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image"},"content":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false}],"type":"object"}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Multiple choice answer allows for one or more than one answer to be correct as defined by the distractor field being set to false"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"short-answer"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Short answers allow students to enter a free text answer, and the answers array contains a list of acceptable answers"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"match"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"matchOption":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (LHS)"},"correctChoice":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (RHS), indicating the correct choice"}},"required":["matchOption","correctChoice"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list from the `match_option` field in the answers array, and must correctly match them to the `correct_choice` value"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"order"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"order":{"type":"number","description":"Indicates the correct ordering of the response"},"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["order","type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list of items to order, and must correctly order them according to the `order` field. When presenting the answer options to the student, you should randomise the order of the items"}],"type":"object"},"description":"The starter quiz questions - which test prior knowledge","example":[{"question":"Where does a prefix come in a word?","questionType":"multiple-choice","answers":[{"type":"text","content":"At the beginning","distractor":false},{"type":"text","content":"In the middle","distractor":true},{"type":"text","content":"At the end","distractor":true},{"type":"text","content":"Underneath","distractor":true}]}]},"exitQuiz":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"multiple-choice"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image"},"content":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false}],"type":"object"}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Multiple choice answer allows for one or more than one answer to be correct as defined by the distractor field being set to false"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"short-answer"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Short answers allow students to enter a free text answer, and the answers array contains a list of acceptable answers"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"match"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"matchOption":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (LHS)"},"correctChoice":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (RHS), indicating the correct choice"}},"required":["matchOption","correctChoice"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list from the `match_option` field in the answers array, and must correctly match them to the `correct_choice` value"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"order"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"order":{"type":"number","description":"Indicates the correct ordering of the response"},"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["order","type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list of items to order, and must correctly order them according to the `order` field. When presenting the answer options to the student, you should randomise the order of the items"}],"type":"object"},"description":"The exit quiz questions - which test on the knowledge learned in the lesson","example":[{"question":"Smog is an example of: ","questionType":"multiple-choice","answers":[{"type":"text","content":"word blending","distractor":false},{"type":"text","content":"a compound","distractor":true},{"type":"text","content":"affixation","distractor":true},{"type":"text","content":"an acronym","distractor":true}]}]}},"required":["lessonSlug","lessonTitle","starterQuiz","exitQuiz"],"additionalProperties":false}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/programmes/{programme}/questions":{"get":{"operationId":"getQuestionsGetQuestionsForProgramme","summary":"Quiz questions in a programme","description":"Use when you want every quiz question in a single programme (year group) within a subject. Get programme slugs from GET /subjects/{subject}/programmes. Returns questions grouped by lesson with starter and exit quiz questions and answers. Supports offset/limit pagination; Link: rel=\"next\" header signals more pages.\n\nNot for: questions in a single lesson (GET /lessons/{lesson}/quiz); questions across a whole sequence (GET /sequences/{sequence}/questions); questions for a key stage + subject without programme structure (GET /key-stages/{keyStage}/subject/{subject}/questions).","tags":["questions","programmes"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"programme","schema":{"type":"string","description":"The programme slug identifier","example":"english-secondary-year-8"},"required":true,"description":"The programme slug identifier"},{"in":"query","name":"offset","schema":{"default":0,"type":"number","description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point","example":0},"description":"If limiting results returned, this allows you to return the next set of results, starting at the given offset point"},{"in":"query","name":"limit","schema":{"default":20,"type":"number","maximum":300,"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons","example":20},"description":"Limit the number of lessons, e.g. return a maximum of 300 lessons"},{"in":"query","name":"filter","schema":{"type":"string","enum":["images"],"description":"Optional filter for question results. Use `images` to return only questions with a question image or image answer."},"description":"Optional filter for question results. Use `images` to return only questions with a question image or image answer."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"lessonSlug":{"type":"string","description":"The unique slug identifier for the lesson","example":"creating-a-new-word"},"lessonTitle":{"type":"string","description":"The title of the lesson","example":"Creating a new word"},"starterQuiz":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"multiple-choice"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image"},"content":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false}],"type":"object"}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Multiple choice answer allows for one or more than one answer to be correct as defined by the distractor field being set to false"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"short-answer"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Short answers allow students to enter a free text answer, and the answers array contains a list of acceptable answers"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"match"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"matchOption":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (LHS)"},"correctChoice":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (RHS), indicating the correct choice"}},"required":["matchOption","correctChoice"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list from the `match_option` field in the answers array, and must correctly match them to the `correct_choice` value"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"order"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"order":{"type":"number","description":"Indicates the correct ordering of the response"},"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["order","type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list of items to order, and must correctly order them according to the `order` field. When presenting the answer options to the student, you should randomise the order of the items"}],"type":"object"},"description":"The starter quiz questions - which test prior knowledge","example":[{"question":"Where does a prefix come in a word?","questionType":"multiple-choice","answers":[{"type":"text","content":"At the beginning","distractor":false},{"type":"text","content":"In the middle","distractor":true},{"type":"text","content":"At the end","distractor":true},{"type":"text","content":"Underneath","distractor":true}]}]},"exitQuiz":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"multiple-choice"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image"},"content":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"distractor":{"type":"boolean","description":"Whether the multiple choice question response is the correct answer (false) or is a distractor (true)"}},"required":["type","content","distractor"],"additionalProperties":false}],"type":"object"}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Multiple choice answer allows for one or more than one answer to be correct as defined by the distractor field being set to false"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"short-answer"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"Short answers allow students to enter a free text answer, and the answers array contains a list of acceptable answers"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"match"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"matchOption":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (LHS)"},"correctChoice":{"type":"object","properties":{"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["type","content"],"additionalProperties":false,"description":"Matching options (RHS), indicating the correct choice"}},"required":["matchOption","correctChoice"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list from the `match_option` field in the answers array, and must correctly match them to the `correct_choice` value"},{"type":"object","properties":{"question":{"type":"string","description":"The question text"},"questionType":{"type":"string","const":"order"},"questionImage":{"type":"object","properties":{"url":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"alt":{"type":"string"},"text":{"type":"string","description":"Supplementary text for the image, if any"},"attribution":{"type":"string"}},"required":["url","width","height"],"additionalProperties":false},"answers":{"type":"array","items":{"type":"object","properties":{"order":{"type":"number","description":"Indicates the correct ordering of the response"},"type":{"type":"string","const":"text","description":"The format of the quiz answer \nNote: currently, we are only returning text-based quiz answers. In the future, we will also have image-based questions available."},"content":{"type":"string","description":"Quiz question answer"}},"required":["order","type","content"],"additionalProperties":false}}},"required":["question","questionType","answers"],"additionalProperties":false,"description":"The student is offered a list of items to order, and must correctly order them according to the `order` field. When presenting the answer options to the student, you should randomise the order of the items"}],"type":"object"},"description":"The exit quiz questions - which test on the knowledge learned in the lesson","example":[{"question":"Smog is an example of: ","questionType":"multiple-choice","answers":[{"type":"text","content":"word blending","distractor":false},{"type":"text","content":"a compound","distractor":true},{"type":"text","content":"affixation","distractor":true},{"type":"text","content":"an acronym","distractor":true}]}]}},"required":["lessonSlug","lessonTitle","starterQuiz","exitQuiz"],"additionalProperties":false}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/lessons/check-restricted":{"post":{"operationId":"getLessonsPostCheckRestrictedLessons","summary":"Check restrictions for a list of lessons","description":"Use when you have a list of lesson slugs and need to check if they are restricted. Returns a list of lessons with their restriction status and reasons.\nNot for: checking a single lesson (GET /lessons/{lesson}/summary); searching lessons by title (GET /search/lessons); listing every lesson in a unit or subject (GET /key-stages/{keyStage}/subject/{subject}/lessons).","tags":["lessons"],"security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"lessonSlugs":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["lessonSlugs"]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","enum":["ogl-compatible","restricted"]},"example":{"joining-using-and":"ogl-compatible","restricted-lesson":"restricted"}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/lessons/{lesson}/summary":{"get":{"operationId":"getLessonsGetLesson","summary":"Lesson summary by slug","description":"Use when you have a lesson slug and need its full metadata: title, key stage, subject, unit, keywords, key learning points, misconceptions, pupil lesson outcome, teacher tips, content guidance, supervision level, and downloadsAvailable. Returns the lesson summary record.\n\nNot for: finding a lesson from a search term (GET /search/lessons); searching what's said in lesson videos (GET /search/transcripts); listing every lesson in a unit or subject (GET /key-stages/{keyStage}/subject/{subject}/lessons); the transcript or assets (GET /lessons/{lesson}/transcript or GET /lessons/{lesson}/assets).\n\nExample slug: imagining-you-are-the-characters-the-three-billy-goats-gruff.","tags":["lessons"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"lesson","schema":{"type":"string","description":"The unique slug identifier for the lesson","example":"creating-a-new-word"},"required":true,"description":"The unique slug identifier for the lesson"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"lessonTitle":{"type":"string","description":"The lesson title"},"canonicalUrl":{"type":"string","format":"uri","description":"The canonical Oak National URL for the lesson"},"oakUrl":{"type":"string","format":"uri","description":"The Oak National URL for the lesson"},"units":{"type":"array","items":{"type":"object","properties":{"unitSlug":{"type":"string","description":"The unit slug identifier"},"unitTitle":{"type":"string","description":"The unit title"},"programmeFactors":{"type":"object","properties":{"examBoard":{"description":"The exam board that identifies this unit variant","type":"object","properties":{"slug":{"type":"string","description":"The slug identifier for the programme factor"},"title":{"type":"string","description":"The title of the programme factor"}},"required":["slug","title"],"additionalProperties":false},"pathway":{"description":"The pathway that identifies this unit variant","type":"object","properties":{"slug":{"type":"string","description":"The slug identifier for the programme factor"},"title":{"type":"string","description":"The title of the programme factor"}},"required":["slug","title"],"additionalProperties":false},"tier":{"description":"The tier that identifies this unit variant","type":"object","properties":{"slug":{"type":"string","description":"The slug identifier for the programme factor"},"title":{"type":"string","description":"The title of the programme factor"}},"required":["slug","title"],"additionalProperties":false},"childSubject":{"description":"The science child subject that identifies this unit variant","type":"object","properties":{"slug":{"type":"string","enum":["biology","chemistry","combined-science","physics"],"description":"The slug identifier for the science child subject"},"title":{"type":"string","description":"The title of the science child subject"}},"required":["slug","title"],"additionalProperties":false}},"additionalProperties":false,"description":"The programme-factor values that identify which variant of the unit this lesson sits in. Omitted when the unit has no programme factors."}},"required":["unitSlug","unitTitle"],"additionalProperties":false},"description":"All the units (including programme variants) this lesson is part of. Each entry is a unique combination of unit slug and programme factors."},"subjectSlug":{"type":"string","description":"The subject slug identifier"},"subjectTitle":{"type":"string","description":"The subject slug identifier"},"keyStageSlug":{"type":"string","description":"The key stage slug identifier"},"keyStageTitle":{"type":"string","description":"The key stage title"},"lessonKeywords":{"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string","description":"The keyword"},"description":{"type":"string","description":"A definition of the keyword"}},"required":["keyword","description"],"additionalProperties":false},"description":"The lesson's keywords and their descriptions"},"keyLearningPoints":{"type":"array","items":{"type":"object","properties":{"keyLearningPoint":{"type":"string","description":"A key learning point"}},"required":["keyLearningPoint"],"additionalProperties":false},"description":"The lesson's key learning points"},"misconceptionsAndCommonMistakes":{"type":"array","items":{"type":"object","properties":{"misconception":{"type":"string","description":"A common misconception"},"response":{"type":"string","description":"Suggested teacher response to a common misconception"}},"required":["misconception","response"],"additionalProperties":false},"description":"The lesson’s anticipated common misconceptions and suggested teacher responses"},"pupilLessonOutcome":{"description":"Suggested teacher response to a common misconception","type":"string"},"teacherTips":{"type":"array","items":{"type":"object","properties":{"teacherTip":{"type":"string"}},"required":["teacherTip"],"additionalProperties":false,"description":"A teaching tip"},"description":"Helpful teaching tips for the lesson"},"contentGuidance":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"contentGuidanceArea":{"type":"string","description":"Category of content guidance"},"supervisionlevel_id":{"type":"number","description":"The ID of the supervision level for the identified type of content. See ‘What are the types of content guidance?’ for more information."},"contentGuidanceLabel":{"type":"string","description":"Content guidance label"},"contentGuidanceDescription":{"type":"string","description":"A detailed description of the type of content that we suggest needs guidance."}},"required":["contentGuidanceArea","supervisionlevel_id","contentGuidanceLabel","contentGuidanceDescription"],"additionalProperties":false}},{"type":"null"}],"description":"Full guidance about the types of lesson content for the teacher to consider (where appropriate)"},"supervisionLevel":{"description":"The ID of the supervision level for the identified type of content. See ‘What are the types of content guidance?’ for more information.","type":["string","null"]},"downloadsAvailable":{"type":"boolean","description":"Whether the lesson currently has any downloadable assets available."}},"required":["lessonTitle","canonicalUrl","oakUrl","units","subjectSlug","subjectTitle","keyStageSlug","keyStageTitle","lessonKeywords","keyLearningPoints","misconceptionsAndCommonMistakes","teacherTips","contentGuidance","supervisionLevel","downloadsAvailable"],"additionalProperties":false,"example":{"lessonTitle":"Creating a new word","canonicalUrl":"https://www.thenational.academy/teachers/lessons/creating-a-new-word","oakUrl":"https://www.thenational.academy/teachers/lessons/creating-a-new-word","units":[{"unitSlug":"a-history-of-language","unitTitle":"A history of language"}],"subjectSlug":"english","subjectTitle":"English","keyStageSlug":"ks3","keyStageTitle":"Key Stage 3","lessonKeywords":[{"keyword":"Blending","description":"In language, blending means to join the beginning of one word with the end of another to create a new word."},{"keyword":"Compounds","description":"Compounds are words that are formed by combining two existing words together."},{"keyword":"Acronym","description":"An acronym is a word formed by combining the first letter of each word in a name or phrase (e.g. ASAP)."},{"keyword":"Initialism","description":"Initialism is an abbreviation where the first letters of each word are pronounced as separate letters (e.g. CCTV)."},{"keyword":"Affixation","description":"Affixation is the process of adding groups of letters to the beginning or ends of words to change their meanings."}],"keyLearningPoints":[{"keyLearningPoint":"Blending is when words are 'chopped up' and put together."},{"keyLearningPoint":"Compounds are when two words are merged (sometimes using a hyphen)."},{"keyLearningPoint":"Initialism is like an acronym, except all the letters are pronounced."},{"keyLearningPoint":"Affixation means fastening parts of words to other words."}],"misconceptionsAndCommonMistakes":[{"misconception":"That 'word blending' is a type of compound.","response":"'Word blending' combines only part of other words whereas word compounds combines the entirety of two existing words to form a new one."}],"pupilLessonOutcome":"I can create a new word using specific language change techniques.","teacherTips":[{"teacherTip":"There are lots of word compounds relevant to the school setting and this could be brought out further as part of an 'I Spy' style activity related to word compounds visible in the classroom."}],"contentGuidance":null,"supervisionLevel":null,"downloadsAvailable":true}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/search/lessons":{"get":{"operationId":"getLessonsSearchByTextSimilarity","summary":"Lesson search by title","description":"Use when you want to find lessons whose titles match a search term. Returns up to 20 lessons ranked by title similarity — each with slug, title, URL, similarity score, and the unit(s) the lesson appears in. Optional keyStage, subject, and unit narrow the search.\n\nNot for: searching what's said in lesson videos (GET /search/transcripts); metadata for a known lesson (GET /lessons/{lesson}/summary); listing every lesson in a key stage + subject without ranking (GET /key-stages/{keyStage}/subject/{subject}/lessons).\n\nExample queries: KS3 science photosynthesis, fractions year 5, Macbeth soliloquy.","tags":["lessons","search"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"query","name":"q","schema":{"type":"string","description":"Search query text snippet","example":"gothic"},"required":true,"description":"Search query text snippet"},{"in":"query","name":"keyStage","schema":{"type":"string","enum":["ks1","ks2","ks3","ks4"],"description":"Key stage slug to filter by, e.g. 'ks3'","example":"ks3"},"description":"Key stage slug to filter by, e.g. 'ks3'"},{"in":"query","name":"subject","schema":{"type":"string","enum":["art","citizenship","computing","cooking-nutrition","design-technology","english","french","geography","german","history","maths","music","physical-education","religious-education","rshe-pshe","science","spanish"],"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)","example":"english"},"description":"Subject slug to search by, e.g. 'english' - note that casing is important here (always lowercase)"},{"in":"query","name":"unit","schema":{"type":"string","description":"Optional unit slug to additionally filter by"},"description":"Optional unit slug to additionally filter by"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"lessonSlug":{"type":"string","description":"The lesson slug identifier"},"lessonTitle":{"type":"string","description":"The lesson title"},"oakUrl":{"type":"string","format":"uri","description":"The Oak National URL for the lesson"},"similarity":{"type":"number","description":"The snippet of the transcript that matched the search term"},"units":{"type":"array","items":{"type":"object","properties":{"unitSlug":{"type":"string"},"unitTitle":{"type":"string"},"examBoardTitle":{"type":["string","null"]},"keyStageSlug":{"type":"string"},"subjectSlug":{"type":"string"}},"required":["unitSlug","unitTitle","examBoardTitle","keyStageSlug","subjectSlug"],"additionalProperties":false},"description":"The units that the lesson is part of. See sample response below"}},"required":["lessonSlug","lessonTitle","oakUrl","similarity","units"],"additionalProperties":false},"example":[{"lessonSlug":"descriptive-writing-about-a-small-detail","lessonTitle":"Writing a gothic description","oakUrl":"https://www.thenational.academy/teachers/lessons/descriptive-writing-about-a-small-detail","similarity":0.2413793,"units":[{"unitSlug":"a-monster-within-reading-gothic-fiction","unitTitle":"A monster within: reading and writing Gothic fiction","examBoardTitle":null,"keyStageSlug":"ks3","subjectSlug":"english"}]},{"lessonSlug":"performing-your-chosen-gothic-poem","lessonTitle":"Performing your chosen Gothic poem","oakUrl":"https://www.thenational.academy/teachers/lessons/performing-your-chosen-gothic-poem","similarity":0.20588236,"units":[{"unitSlug":"gothic-poetry","unitTitle":"Gothic poetry","examBoardTitle":null,"keyStageSlug":"ks3","subjectSlug":"english"}]}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/units/{unit}/summary":{"get":{"operationId":"getUnitsGetUnit","summary":"Unit summary by slug","description":"Use when you have a unit slug and need the unit summary: title, description, key stage, subject, year, threads, prior-knowledge requirements, national-curriculum statements, and the lessons inside. Unit variant slugs (ending in -1, -2, etc.) resolve to that specific variant.\n\nNot for: listing every unit in a key stage + subject (GET /key-stages/{keyStage}/subject/{subject}/units); all units across a sequence (GET /sequences/{sequence}/units); units in one programme (GET /programmes/{programme}/units); units in a thread (GET /threads/{threadSlug}/units); lessons inside the unit (GET /key-stages/{keyStage}/subject/{subject}/lessons with unit={unit}).","tags":["units"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"unit","schema":{"type":"string","description":"The unit slug","example":"programming-subroutines"},"required":true,"description":"The unit slug"},{"in":"query","name":"examBoard","schema":{"type":"string","enum":["aqa","edexcel","eduqas","ocr","wjec","edexcelb"],"example":"aqa"},"description":"Optional exam board slug to narrow the unit to a specific programme variant, e.g. 'aqa'."},{"in":"query","name":"pathway","schema":{"type":"string","enum":["core","gcse"]},"description":"Optional pathway slug to narrow the unit to a specific programme variant, e.g. 'gcse'."},{"in":"query","name":"tier","schema":{"type":"string","enum":["core","foundation","higher"]},"description":"Optional tier slug to narrow the unit to a specific programme variant, e.g. 'foundation'."},{"in":"query","name":"childSubject","schema":{"type":"string","enum":["biology","chemistry","combined-science","physics"]},"description":"Optional science child subject slug to narrow the unit to a specific programme variant. Only available for science units, e.g. 'biology'."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"unitSlug":{"type":"string","description":"The unit slug identifier"},"unitTitle":{"type":"string","description":"The unit title"},"yearSlug":{"type":"string","description":"The slug identifier for the year to which the unit belongs"},"year":{"anyOf":[{"type":"number"},{"type":"string","description":"All years"}],"description":"The year to which the unit belongs"},"phaseSlug":{"type":"string","description":"The slug identifier for the phase to which the unit belongs"},"subjectSlug":{"type":"string","description":"The subject identifier"},"keyStageSlug":{"type":"string","description":"The slug identifier for the the key stage to which the unit belongs"},"notes":{"type":"string","description":"Unit summary notes"},"description":{"type":"string","description":"A short description of the unit. Not yet available for all subjects."},"priorKnowledgeRequirements":{"type":"array","items":{"type":"string"},"description":"The prior knowledge required for the unit"},"nationalCurriculumContent":{"type":"array","items":{"type":"string"},"description":"National curriculum attainment statements covered in this unit"},"whyThisWhyNow":{"type":"string","description":"An explanation of where the unit sits within the sequence and why it has been placed there."},"threads":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string"},"order":{"type":"number"}},"required":["slug","title","order"],"additionalProperties":false},"description":"The threads that are associated with the unit"},"categories":{"type":"array","items":{"type":"object","properties":{"categoryTitle":{"type":"string"},"categorySlug":{"type":"string"}},"required":["categoryTitle"],"additionalProperties":false},"description":"The categories (if any) that are assigned to the unit. If the unit does not have any categories, this property is omitted."},"programmeFactors":{"type":"object","properties":{"examBoard":{"description":"The exam board that identifies this unit variant","type":"object","properties":{"slug":{"type":"string","description":"The slug identifier for the programme factor"},"title":{"type":"string","description":"The title of the programme factor"}},"required":["slug","title"],"additionalProperties":false},"pathway":{"description":"The pathway that identifies this unit variant","type":"object","properties":{"slug":{"type":"string","description":"The slug identifier for the programme factor"},"title":{"type":"string","description":"The title of the programme factor"}},"required":["slug","title"],"additionalProperties":false},"tier":{"description":"The tier that identifies this unit variant","type":"object","properties":{"slug":{"type":"string","description":"The slug identifier for the programme factor"},"title":{"type":"string","description":"The title of the programme factor"}},"required":["slug","title"],"additionalProperties":false},"childSubject":{"description":"The science child subject that identifies this unit variant","type":"object","properties":{"slug":{"type":"string","enum":["biology","chemistry","combined-science","physics"],"description":"The slug identifier for the science child subject"},"title":{"type":"string","description":"The title of the science child subject"}},"required":["slug","title"],"additionalProperties":false}},"additionalProperties":false,"description":"The programme-factor values that identify which variant of this unit is returned. Omitted when the unit has no programme factors."},"unitOptionsGroup":{"description":"If the unit is unit variant, then this is the unit's \"parent\" unit slug","type":"string"},"unitLessons":{"type":"array","items":{"type":"object","properties":{"lessonSlug":{"type":"string","description":"The lesson slug identifier"},"lessonTitle":{"type":"string","description":"The title for the lesson"},"lessonOrder":{"type":"number","description":"Indicates the ordering of the lesson"},"state":{"type":"string","enum":["published","new"],"description":"If the state is 'published' then it is also available on the /lessons/* endpoints. If the state is 'new' then it's not available yet."}},"required":["lessonSlug","lessonTitle","state"],"additionalProperties":false,"description":"All the lessons contained in the unit"}}},"required":["unitSlug","unitTitle","yearSlug","year","phaseSlug","subjectSlug","keyStageSlug","priorKnowledgeRequirements","nationalCurriculumContent","unitLessons"],"additionalProperties":false,"example":{"unitSlug":"programming-subroutines","unitTitle":"Programming subroutines","yearSlug":"year-10","year":10,"phaseSlug":"secondary","subjectSlug":"computing","keyStageSlug":"ks4","priorKnowledgeRequirements":["Variables can be used to store values in a program.","Selection can be used to choose between paths in a program.","Iteration can be used to repeat a set of instructions."],"nationalCurriculumContent":["Use two or more programming languages, at least one of which is textual, to solve a variety of computational problems.","Make appropriate use of data structures.","Design and develop modular programs."],"programmeFactors":{"examBoard":{"slug":"aqa","title":"AQA"},"pathway":{"slug":"gcse","title":"GCSE"}},"unitLessons":[{"lessonSlug":"structured-programs","lessonTitle":"Structured programs","lessonOrder":1,"state":"published"},{"lessonSlug":"subroutines-with-parameters","lessonTitle":"Subroutines with parameters","lessonOrder":2,"state":"new"}]}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/threads":{"get":{"operationId":"getThreadsGetAllThreads","summary":"All threads","description":"Use when you want the catalogue of every thread. A thread is an attribute on a unit that groups units across the curriculum to build a common body of knowledge — making vertical connections across year groups. Returns all threads with published units, sorted alphabetically — each with title, slug, and unitCount.\n\nNot for: the units inside a thread (GET /threads/{threadSlug}/units).","tags":["lists"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"The thread title"},"slug":{"type":"string","description":"The thread slug identifier"},"unitCount":{"type":"number","description":"The number of published units in the thread"}},"required":["title","slug","unitCount"],"additionalProperties":false},"example":[{"title":"Number: Multiplication and division","slug":"number-multiplication-and-division","unitCount":78},{"title":"Number: Place value","slug":"number-place-value","unitCount":56}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/threads/{threadSlug}/units":{"get":{"operationId":"getThreadsGetThreadUnits","summary":"Units in a thread","description":"Use when you want every unit in a thread. A thread is an attribute on a unit that groups units across the curriculum to build a common body of knowledge — for example, number and place value or scientific method. Units in a thread span multiple programmes and key stages; thread order is independent of unit sequence order within any individual programme. Returns units in thread order with unitTitle, unitSlug, and unitOrder.\n\nNot for: the catalogue of threads (GET /threads); all units across a sequence (GET /sequences/{sequence}/units); units in one programme (GET /programmes/{programme}/units); a single unit (GET /units/{unit}/summary).\n\nExample: 'threadSlug=number-and-place-value'.","tags":["lists"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"threadSlug","schema":{"type":"string","description":"The thread identifier for a given unit","example":"number-multiplication-and-division"},"required":true,"description":"The thread identifier for a given unit"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"unitTitle":{"type":"string","description":"The unit title"},"unitSlug":{"type":"string","description":"The unit slug identifier"}},"required":["unitTitle","unitSlug"],"additionalProperties":false},"example":[{"unitTitle":"Unitising and coin recognition - counting in 2s, 5s and 10s","unitSlug":"unitising-and-coin-recognitions-counting-in-2s-5s-and-10s"},{"unitTitle":"Solving problems in a range of contexts","unitSlug":"unitising-and-coin-recognition-solving-problems-involving-money"}]}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}},"/rate-limit":{"get":{"operationId":"getRateLimitGetRateLimit","summary":"Current rate-limit status","description":"Use when you need rate-limit status as a JSON body — e.g. for a quota indicator. Returns limit, remaining, and reset. The same data sits on the 'X-RateLimit-*' headers of every response, so this endpoint is rarely needed directly. Does not count against your quota.","tags":["internal"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"number","description":"The maximum number of requests you can make in the current window."},"remaining":{"type":"number","description":"The number of requests remaining in the current window."},"reset":{"type":"number","description":"The time at which the current window resets, in milliseconds since the Unix epoch."}},"required":["limit","remaining","reset"],"additionalProperties":false,"example":{"limit":1000,"remaining":953,"reset":1740164400000}}}}},"400":{"description":"Bad request - e.g. \"Content is blocked for copyright reasons\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.BAD_REQUEST"}}}},"401":{"description":"API token not provided or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.UNAUTHORIZED"}}}},"404":{"description":"Detail of the request causing the 404, e.g. \"Lesson not found\"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.NOT_FOUND"}}}}}}}},"components":{"schemas":{"error.BAD_REQUEST":{"type":"object","properties":{"message":{"type":"string","description":"The error message","example":"Bad request - e.g. \"Content is blocked for copyright reasons\""},"code":{"type":"string","description":"The error code","example":"BAD_REQUEST"},"issues":{"description":"An array of issues that were responsible for the error","example":[],"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Bad request - e.g. \"Content is blocked for copyright reasons\" error (400)","description":"The error information","example":{"code":"BAD_REQUEST","message":"Bad request - e.g. \"Content is blocked for copyright reasons\"","issues":[]}},"error.UNAUTHORIZED":{"type":"object","properties":{"message":{"type":"string","description":"The error message","example":"API token not provided or invalid"},"code":{"type":"string","description":"The error code","example":"UNAUTHORIZED"},"issues":{"description":"An array of issues that were responsible for the error","example":[],"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"API token not provided or invalid error (401)","description":"The error information","example":{"code":"UNAUTHORIZED","message":"API token not provided or invalid","issues":[]}},"error.NOT_FOUND":{"type":"object","properties":{"message":{"type":"string","description":"The error message","example":"Detail of the request causing the 404, e.g. \"Lesson not found\""},"code":{"type":"string","description":"The error code","example":"NOT_FOUND"},"issues":{"description":"An array of issues that were responsible for the error","example":[],"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}},"required":["message","code"],"additionalProperties":false,"title":"Detail of the request causing the 404, e.g. \"Lesson not found\" error (404)","description":"The error information","example":{"code":"NOT_FOUND","message":"Detail of the request causing the 404, e.g. \"Lesson not found\"","issues":[]}}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}