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

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

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

    - **Relationships**: Hierarchical and semantic connections between
    standards, learning components, and frameworks


    **Learn more:**

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

    - [Academic Standards
    Dataset](/knowledge-graph/entity-and-relationship-reference/academic-standards)

    - [Learning Components
    Dataset](/knowledge-graph/entity-and-relationship-reference/learning-components)

    - [Quick Start Guide](/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 and course operations
  - name: Hierarchy
    description: Hierarchical navigation operations
  - name: Learning components
    description: Learning component operations
  - name: Learning progressions
    description: Learning progression and prerequisite relationships
  - name: Search
    description: Search and discovery operations
  - name: Standards crosswalks
    description: Standards crosswalk operations
  - name: Standards frameworks
    description: Standards frameworks 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: The identifier for the curriculum to retrieve dependencies for.
          schema:
            $ref: '#/components/schemas/CurriculumIdENUM'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/CursorParam'
      responses:
        '200':
          description: Successfully retrieved 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: Curriculum identifier
      enum:
        - im360
    DependencyMapResponse:
      type: object
      description: >-
        Paginated dependency map for a curriculum, listing dependency
        relationships between lesson groupings grouped by source.
      required:
        - dependencies
        - pagination
      properties:
        dependencies:
          type: array
          items:
            $ref: '#/components/schemas/Dependency'
          description: >-
            List of dependency relationships between lesson groupings, grouped
            by source
        pagination: 40b3f2aa-1c64-41b6-90c6-1508f5ec0108
    Error:
      type: object
      description: Standard error response object returned for all error conditions
      required:
        - error
        - message
        - requestId
      properties:
        error:
          type: string
          description: >-
            A machine-readable error type identifier (e.g., ValidationError,
            NotFoundError, InternalServerError)
        message:
          type: string
          description: >-
            A human-readable error message that explains what went wrong and may
            include actionable guidance
        requestId:
          type: string
          description: >-
            A unique identifier for this request, useful 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: >-
        A lesson grouping and the other lesson groupings it depends on
        (prerequisites).
      required:
        - source
        - hasDependency
      properties:
        source:
          type: string
          description: The identifier of the source lesson grouping
        sourceName:
          type: string
          description: The name of the source lesson grouping
        sourceCurriculumLabel:
          type: string
          description: >-
            The 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)
    DependencyTarget:
      type: object
      description: A lesson grouping that is depended upon (a prerequisite).
      required:
        - identifier
      properties:
        identifier:
          type: string
          description: The unique identifier of the target lesson grouping
        name:
          type: string
          description: The name of the target lesson grouping
        curriculumLabel:
          type: string
          description: >-
            The 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. Default is 100. Maximum allowed is
        1000.
      schema:
        type: integer
        minimum: 1
        maximum: 1000
        default: 100
    CursorParam:
      name: cursor
      in: query
      required: false
      description: >-
        Cursor for pagination. Obtain this value from the 'nextCursor' field in
        the previous response. Omit for the first page.
      schema:
        type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. Include your API key in the x-api-key header
        for all requests.

````