> ## 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.

# Dependency map for a curriculum

> Returns the dependency relationships between lesson groupings within a curriculum.

Dependencies represent prerequisite relationships between lesson groupings (units, sections, modules).
A dependency from source → target means the target is a prerequisite — it should be taught before the source.

Use this endpoint when you need to:
- Visualize the dependency graph for a curriculum
- Understand prerequisite relationships between units or sections
- Build a dependency-aware course planner or sequencing tool




## OpenAPI

````yaml /api-reference/knowledge-graph-api/openapi.yaml get /curriculums/{curriculumId}/dependency-map
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 U.S. 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)

    - [Academic Standards](/knowledge-graph/graph-reference/academic-standards)

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

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

    - [Curriculum](/knowledge-graph/graph-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: 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:
  /curriculums/{curriculumId}/dependency-map:
    get:
      tags:
        - Curriculum
      summary: Dependency map for a curriculum
      description: >
        Returns the dependency relationships between lesson groupings within a
        curriculum.


        Dependencies represent prerequisite relationships between lesson
        groupings (units, sections, modules).

        A dependency from source → target means the target is a prerequisite —
        it should be taught before the source.


        Use this endpoint when you need to:

        - Visualize the dependency graph for a curriculum

        - Understand prerequisite relationships between units or sections

        - Build a dependency-aware course planner or sequencing tool
      operationId: getCurriculumDependencyMap
      parameters:
        - name: curriculumId
          in: path
          required: true
          description: Unique identifier for the resource in Knowledge Graph
          schema:
            $ref: '#/components/schemas/CurriculumIdENUM'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/CursorParam'
      responses:
        '200':
          description: Successfully retrieved paginated dependency map
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DependencyMapResponse'
              example:
                dependencies:
                  - source: im:87b50a26-acbf-5798-ac94-ca1423679acd
                    sourceName: Angles, Triangles, and Prisms
                    sourceCurriculumLabel: Unit
                    hasDependency:
                      - identifier: im:a0e15ae9-dd70-5df0-93ad-9d6b99fc5ad2
                        name: Area and Surface Area
                        curriculumLabel: Unit
                      - identifier: im:c5f3b8d1-4e92-5a6c-b7d8-2f1e9a3c6b4d
                        name: Angles and Angle Measurement
                        curriculumLabel: Unit
                  - source: im:d4e2f1a0-8b7c-5d3e-9f6a-1c2b4d5e8f7a
                    sourceName: Constructions
                    sourceCurriculumLabel: Section
                    hasDependency:
                      - identifier: im:e7f6a5b4-3c2d-5e1f-8a9b-0d1c2e3f4a5b
                        name: Defining Rigid Transformations
                        curriculumLabel: Section
                pagination:
                  limit: 100
                  nextCursor: >-
                    eyJpZGVudGlmaWVyIjoiaW06ZDRlMmYxYTAtOGI3Yy01ZDNlLTlmNmEtMWMyYjRkNWU4ZjdhIn0=
                  hasMore: true
        '400':
          description: Bad request - Invalid query parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: ValidationError
                message: Invalid cursor format
                requestId: req_12345
        '422':
          description: Unprocessable Entity - Invalid curriculumId value
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: ValidationError
                message: Input should be 'im360'
                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 the dependency
                  map
                requestId: req_12345
components:
  schemas:
    CurriculumIdENUM:
      type: string
      description: Unique identifier for the resource in Knowledge Graph
      enum:
        - im360
    DependencyMapResponse:
      type: object
      required:
        - dependencies
        - pagination
      properties:
        dependencies:
          type: array
          items:
            $ref: '#/components/schemas/Dependency'
          description: Dependency relationships between lesson groupings, grouped by source
        pagination:
          $ref: '#/components/schemas/Pagination'
    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
    Dependency:
      type: object
      description: >-
        Lesson grouping and the other lesson groupings it depends on
        (prerequisites).
      required:
        - source
        - hasDependency
      properties:
        source:
          type: string
          description: Unique identifier for the resource in Knowledge Graph
        sourceName:
          type: string
          description: Name or title of the resource
        sourceCurriculumLabel:
          type: string
          description: >-
            Curriculum label of the source lesson grouping (e.g., "Unit",
            "Section")
        hasDependency:
          type: array
          items:
            $ref: '#/components/schemas/DependencyTarget'
          description: >-
            Lesson groupings that this source has a dependency on
            (prerequisites)
    Pagination:
      type: object
      description: Cursor-based pagination metadata
      required:
        - limit
        - hasMore
      properties:
        limit:
          type: integer
          description: Maximum number of results to return per page
        nextCursor:
          type: string
          nullable: true
          description: >-
            Cursor for fetching the next page of results in your next request
            (`null` if there are no more results)
        hasMore:
          type: boolean
          description: Whether there are more results after this page
    DependencyTarget:
      type: object
      description: Lesson grouping that is depended upon (a prerequisite).
      required:
        - identifier
      properties:
        identifier:
          type: string
          description: Unique identifier for the resource in Knowledge Graph
        name:
          type: string
          description: Name or title of the resource
        curriculumLabel:
          type: string
          description: >-
            Curriculum label of the target lesson grouping (e.g., "Unit",
            "Section")
  parameters:
    LimitParam:
      name: limit
      in: query
      required: false
      description: Maximum number of results to return
      schema:
        type: integer
        minimum: 1
        maximum: 1000
        default: 100
    CursorParam:
      name: cursor
      in: query
      required: false
      description: >-
        Pagination cursor obtained from the `nextCursor` field in a previous
        response (not needed for the first page)
      schema:
        type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication

````