> ## Documentation Index
> Fetch the complete documentation index at: https://docs.learningcommons.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Scope and sequence for a course

> Returns the complete hierarchical structure of a course including its lesson groupings and lessons in a scope and sequence format.

The structure follows this hierarchy:
- Course → Lesson Groupings (can be nested) → Lessons

**Note:** Different curricula use different organizational structures. Lesson groupings might be called units, modules, chapters, sections, themes, etc. depending on the curriculum. The `groupName` property in each lesson grouping indicates what type it is (e.g., "unit", "section", "module").

Use this endpoint when you need to:
- Display the complete course outline or table of contents
- Navigate the course structure programmatically
- Build a course curriculum map or scope and sequence view
- Understand the full instructional progression of a course

The `view` parameter controls the level of detail:
- `summary`: Returns only essential navigation fields (identifiers, names, positions)
- `full`: Returns complete objects with all properties for each element




## OpenAPI

````yaml /api-reference/knowledge-graph-api/openapi.yaml get /courses/{courseId}/scope-and-sequence
openapi: 3.0.3
info:
  title: Learning Commons Knowledge Graph REST API
  description: >
    REST API for accessing education knowledge graph data including academic
    standards, learning components, and curriculum information.


    **Key datasets:**

    - **Academic Standards**: Official state standards from all 50 US states
    sourced from 1EdTech's CASE Network

    - **Learning Components**: Granular, teachable skills that break down broad
    standards into actionable instructional units

    - **Standards crosswalks**: Connections between standards and frameworks

    - **Curriculum**: Structured course content including courses, lesson
    groupings (units, sections, modules), lessons, activities, and assessments


    **Learn more:**

    - [Knowledge Graph
    Overview](/knowledge-graph/understanding-knowledge-graph/introduction)

    - [Standards](/knowledge-graph/schema-reference/standards)

    - [Learning
    Components](/knowledge-graph/schema-reference/learning-components)

    - [Standards crosswalks](/knowledge-graph/schema-reference/standards)

    - [Curriculum](/knowledge-graph/schema-reference/curriculum)

    - [Quickstart](/knowledge-graph/getting-started/quickstart)
  version: '0'
servers:
  - url: https://api.learningcommons.org/knowledge-graph/v0
    description: Production server
security:
  - ApiKeyAuth: []
tags:
  - name: Academic Standards
    description: Academic standards operations
  - name: Curriculum
    description: Curriculum operations
  - name: Durable Skills
    description: Durable skills frameworks and skills operations
  - name: Hierarchy
    description: Hierarchical navigation operations
  - name: Learning Components
    description: Learning components operations
  - name: Learning Progressions
    description: Learning progressions operations
  - name: Search
    description: Search and discovery operations
  - name: Standards crosswalks
    description: Standards crosswalks operations
paths:
  /courses/{courseId}/scope-and-sequence:
    get:
      tags:
        - Curriculum
      summary: Scope and sequence for a course
      description: >
        Returns the complete hierarchical structure of a course including its
        lesson groupings and lessons in a scope and sequence format.


        The structure follows this hierarchy:

        - Course → Lesson Groupings (can be nested) → Lessons


        **Note:** Different curricula use different organizational structures.
        Lesson groupings might be called units, modules, chapters, sections,
        themes, etc. depending on the curriculum. The `groupName` property in
        each lesson grouping indicates what type it is (e.g., "unit", "section",
        "module").


        Use this endpoint when you need to:

        - Display the complete course outline or table of contents

        - Navigate the course structure programmatically

        - Build a course curriculum map or scope and sequence view

        - Understand the full instructional progression of a course


        The `view` parameter controls the level of detail:

        - `summary`: Returns only essential navigation fields (identifiers,
        names, positions)

        - `full`: Returns complete objects with all properties for each element
      operationId: getCourseScopeAndSequence
      parameters:
        - name: courseId
          in: path
          required: true
          description: Unique identifier for the resource in Knowledge Graph
          schema:
            type: string
        - name: view
          in: query
          required: false
          description: |
            Level of detail in the response
            - `summary` -  Identifiers, names, and positions only
            - `full` - All properties
          schema:
            type: string
            enum:
              - summary
              - full
            default: summary
      responses:
        '200':
          description: Successfully retrieved course scope and sequence
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScopeAndSequence'
              example:
                courseId: im:b532b7df-4989-53a2-8f53-8dd829343423
                courseName: Geometry
                view: summary
                lessonGroupings:
                  - identifier: im:87b50a26-acbf-5798-ac94-ca1423679acd
                    name: Constructions and Rigid Transformations
                    ordinalName: Unit 1
                    groupName: unit
                    groupLevel: 0
                    position: 0
                    lessons: null
                    children:
                      - identifier: im:section-a-001
                        name: Constructions
                        ordinalName: Section A
                        groupName: section
                        groupLevel: 1
                        position: 0
                        children: null
                        lessons:
                          - identifier: im:lesson-001
                            name: Build It
                            ordinalName: Lesson 1
                            position: 0
                          - identifier: im:lesson-002
                            name: Constructing Patterns
                            ordinalName: Lesson 2
                            position: 1
                      - identifier: im:section-b-001
                        name: Defining Rigid Transformations
                        ordinalName: Section B
                        groupName: section
                        groupLevel: 1
                        position: 1
                        children: null
                        lessons:
                          - identifier: im:lesson-006
                            name: Transformation Times
                            ordinalName: Lesson 6
                            position: 0
                  - identifier: im:9cc92808-016e-5b7b-865f-dab6764cb504
                    name: Congruence
                    ordinalName: Unit 2
                    groupName: unit
                    groupLevel: 0
                    position: 1
                    lessons: null
                    children:
                      - identifier: im:section-a-002
                        name: Congruent Parts, Congruent Figures
                        ordinalName: Section A
                        groupName: section
                        groupLevel: 1
                        position: 0
                        children: null
                        lessons:
                          - identifier: im:lesson-008
                            name: Moving Through Transformations
                            ordinalName: Lesson 8
                            position: 0
        '400':
          description: Bad request - Invalid query parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: ValidationError
                message: Invalid query parameter value provided
                requestId: req_12345
        '404':
          description: Course not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: NotFoundError
                message: Course with identifier 'im:invalid-id' not found
                requestId: req_12345
        '422':
          description: Unprocessable Entity - Invalid view parameter value
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: ValidationError
                message: Input should be 'summary' or 'full'
                requestId: req_12345
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: InternalServerError
                message: >-
                  An unexpected error occurred while retrieving course scope and
                  sequence
                requestId: req_12345
components:
  schemas:
    ScopeAndSequence:
      oneOf:
        - $ref: '#/components/schemas/ScopeAndSequenceSummary'
        - $ref: '#/components/schemas/ScopeAndSequenceFull'
      discriminator:
        propertyName: view
        mapping:
          summary:
            $ref: '#/components/schemas/ScopeAndSequenceSummary'
          full:
            $ref: '#/components/schemas/ScopeAndSequenceFull'
    Error:
      type: object
      description: Standard error response object returned for all error conditions
      required:
        - error
        - message
        - requestId
      properties:
        error:
          type: string
          description: >-
            Machine-readable error type identifier (e.g., `ValidationError`,
            `NotFoundError`, `InternalServerError`)
        message:
          type: string
          description: >-
            Human-readable error message that explains what went wrong and may
            include actionable guidance
        requestId:
          type: string
          description: Unique identifier for this request (for debugging and support)
        details:
          type: object
          description: >-
            Optional additional details about the error, such as validation
            failures or field-specific issues
          additionalProperties: true
    ScopeAndSequenceSummary:
      type: object
      description: >-
        Hierarchical structure of a course showing lesson groupings and lessons
        (`summary` view)
      required:
        - courseId
        - courseName
        - view
        - lessonGroupings
      properties:
        courseId:
          type: string
          description: Unique identifier for the resource in Knowledge Graph
        courseName:
          type: string
          description: Name or title of the resource
        view:
          type: string
          enum:
            - summary
          description: Level of detail included in the response
        lessonGroupings:
          type: array
          description: Top-level lesson groupings (e.g., units, modules, chapters)
          items:
            $ref: '#/components/schemas/LessonGroupingNode'
    ScopeAndSequenceFull:
      type: object
      description: >-
        Hierarchical structure of a course showing lesson groupings and lessons
        (`full` view)
      required:
        - courseId
        - courseName
        - view
        - lessonGroupings
      properties:
        courseId:
          type: string
          description: Unique identifier for the resource in Knowledge Graph
        courseName:
          type: string
          description: Name or title of the resource
        view:
          type: string
          enum:
            - full
          description: Level of detail included in the response
        lessonGroupings:
          type: array
          description: Top-level lesson groupings (e.g., units, modules, chapters)
          items:
            $ref: '#/components/schemas/LessonGroupingNodeFull'
    LessonGroupingNode:
      type: object
      description: >-
        Lesson grouping node in the course hierarchy for summary view (minimal
        fields)
      required:
        - identifier
        - name
        - groupName
        - groupLevel
        - position
      properties:
        identifier:
          type: string
          description: Unique identifier for the resource in Knowledge Graph
        name:
          type: string
          description: Name or title of the resource
        ordinalName:
          type: string
          description: >-
            Label with sequence number and descriptive text (e.g., "Unit 1",
            "Chapter 2")
        groupName:
          type: string
          description: Type of grouping (e.g., "unit", "section", "module", "chapter")
        groupLevel:
          type: integer
          description: >-
            Nesting level of this grouping (0 = top level, 1 = nested once,
            etc.)
        position:
          type: integer
          description: Position of the resource within its parent
        children:
          type: array
          description: Nested lesson groupings within this grouping
          items:
            $ref: '#/components/schemas/LessonGroupingNode'
        lessons:
          type: array
          description: Lessons within this grouping
          items:
            $ref: '#/components/schemas/LessonNode'
    LessonGroupingNodeFull:
      type: object
      description: >-
        Lesson grouping node in the course hierarchy for full view (all metadata
        fields)
      required:
        - identifier
        - name
        - groupName
        - groupLevel
        - position
      properties:
        identifier:
          type: string
          description: Unique identifier for the resource in Knowledge Graph
        name:
          type: string
          description: Name or title of the resource
        ordinalName:
          type: string
          description: >-
            Label with sequence number and descriptive text (e.g., "Unit 1",
            "Chapter 2")
        groupName:
          type: string
          description: Type of grouping (e.g., "unit", "section", "module", "chapter")
        groupLevel:
          type: integer
          description: >-
            Nesting level of this grouping (0 = top level, 1 = nested once,
            etc.)
        position:
          type: integer
          description: Position of the resource within its parent
        academicSubject:
          type: string
          description: Academic subject
        gradeLevel:
          type: array
          items:
            $ref: '#/components/schemas/GradeLevelENUM'
        author:
          type: string
          description: Author or creator of the resource
        provider:
          type: string
          description: Source data provider for the resource
        inLanguage:
          type: string
          description: Language used in the resource (BCP 47 format)
        educationalUse:
          type: string
          description: Educational use of the resource
        audience:
          type: array
          items:
            type: string
          description: Intended audience of the resource
        license:
          type: string
          description: URL to the resource's license document
        curriculumLabel:
          type: string
          description: Curriculum-specific categorization of the resource
        lmsLoadingGuidance:
          type: string
          description: LMS loading guidance for the resource
        isOptional:
          type: boolean
          description: Whether the resource is optional to complete
        courseCode:
          type: string
          description: Unique identifier for the resource used by the course provider
        publisherIdentifier:
          type: string
          nullable: true
          description: Unique identifier for the resource used by the publisher
        timeRequired:
          type: string
          description: >-
            Approximate amount of time required to work through the resource
            (ISO 8601 duration format)
        dateCreated:
          type: string
          format: date
          description: Date created
        attributionStatement:
          type: string
          description: >-
            Statement that acknowledges the resource's author and provider, as
            required by the CC BY 4.0 license
        children:
          type: array
          description: Nested lesson groupings within this grouping
          items:
            $ref: '#/components/schemas/LessonGroupingNodeFull'
        lessons:
          type: array
          description: Lessons within this grouping
          items:
            $ref: '#/components/schemas/LessonNodeFull'
    LessonNode:
      type: object
      description: Lesson node in the course hierarchy for summary view (minimal fields)
      required:
        - identifier
        - name
        - position
      properties:
        identifier:
          type: string
          description: Unique identifier for the resource in Knowledge Graph
        name:
          type: string
          description: Name or title of the resource
        ordinalName:
          type: string
          description: Label with sequence number and descriptive text (e.g., "Lesson 1")
        position:
          type: integer
          description: Position of the resource within its parent
    GradeLevelENUM:
      type: string
      description: Educational grade level that the resource is intended for
      enum:
        - PK
        - K
        - '1'
        - '2'
        - '3'
        - '4'
        - '5'
        - '6'
        - '7'
        - '8'
        - '9'
        - '10'
        - '11'
        - '12'
    LessonNodeFull:
      type: object
      description: Lesson node in the course hierarchy for full view (all metadata fields)
      required:
        - identifier
        - name
        - position
      properties:
        identifier:
          type: string
          description: Unique identifier for the resource in Knowledge Graph
        name:
          type: string
          description: Name or title of the resource
        ordinalName:
          type: string
          description: Label with sequence number and descriptive text (e.g., "Lesson 1")
        position:
          type: integer
          description: Position within the resource's parent grouping
        academicSubject:
          type: string
          description: Academic subject
        gradeLevel:
          type: array
          items:
            $ref: '#/components/schemas/GradeLevelENUM'
        author:
          type: string
          description: Author or creator of the resource
        provider:
          type: string
          description: Source data provider for the resource
        inLanguage:
          type: string
          description: Language used in the resource (BCP 47 format)
        educationalUse:
          type: string
          description: Educational use of the resource
        audience:
          type: array
          items:
            type: string
          description: Intended audience of the resource
        license:
          type: string
          description: URL to the resource's license document
        curriculumLabel:
          type: string
          description: Curriculum-specific categorization of the resource
        lmsLoadingGuidance:
          type: string
          description: LMS loading guidance for the resource
        isOptional:
          type: boolean
          description: Whether the resource is optional to complete
        courseCode:
          type: string
          description: Unique identifier for the resource used by the course provider
        publisherIdentifier:
          type: string
          nullable: true
          description: Unique identifier for the resource used by the publisher
        timeRequired:
          type: string
          description: >-
            Approximate amount of time required to work through the resource
            (ISO 8601 duration format)
        dateCreated:
          type: string
          format: date
          description: Date created
        attributionStatement:
          type: string
          description: >-
            Statement that acknowledges the resource's author and provider, as
            required by the CC BY 4.0 license
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication

````