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

# Learning components by subject

> Fetches a list of LearningComponents filtered by academic subject.

This endpoint retrieves learning components for a specific subject area. Learning components are granular skills that break down broad standards into teachable units. Currently, learning components are primarily available for Mathematics, with additional subjects being developed.

Use this endpoint when you need to:
- Get all learning components available for a specific subject
- Browse the complete set of skills/concepts for curriculum planning
- Retrieve LCs for mapping to your own content or assessments
- Export learning component data for analysis or integration

The endpoint returns paginated results. Use the `limit` and `cursor` parameters to control the number of results returned and navigate through large result sets.

**Related topics:**
- [Understanding Learning Components](/knowledge-graph/entity-and-relationship-reference/learning-components)
- [Available LC coverage by subject and state](/knowledge-graph/entity-and-relationship-reference/learning-components#current-lc-mappings)




## OpenAPI

````yaml /api-reference/knowledge-graph-api/openapi.yaml get /learning-components
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:
  /learning-components:
    get:
      tags:
        - Learning components
      summary: Learning components by subject
      description: >
        Fetches a list of LearningComponents filtered by academic subject.


        This endpoint retrieves learning components for a specific subject area.
        Learning components are granular skills that break down broad standards
        into teachable units. Currently, learning components are primarily
        available for Mathematics, with additional subjects being developed.


        Use this endpoint when you need to:

        - Get all learning components available for a specific subject

        - Browse the complete set of skills/concepts for curriculum planning

        - Retrieve LCs for mapping to your own content or assessments

        - Export learning component data for analysis or integration


        The endpoint returns paginated results. Use the `limit` and `cursor`
        parameters to control the number of results returned and navigate
        through large result sets.


        **Related topics:**

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

        - [Available LC coverage by subject and
        state](/knowledge-graph/entity-and-relationship-reference/learning-components#current-lc-mappings)
      operationId: listLearningComponents
      parameters:
        - name: academicSubject
          in: query
          required: true
          description: >-
            The academic subject area to retrieve learning components for.
            Currently, Mathematics has the most comprehensive coverage, with
            additional subjects being developed.
          schema:
            $ref: '#/components/schemas/AcademicSubjectENUM'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/CursorParam'
      responses:
        '200':
          description: Successfully retrieved list of learning components
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResponse'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/LearningComponent'
              example:
                data:
                  - identifier: 0013fbee-3e76-500f-9978-42aa1a65f105
                    description: Use conversions to solve multi-step real-world problems
                    academicSubject: Mathematics
                    inLanguage: en-US
                    dateCreated: '2025-04-01'
                    dateModified: '2025-04-01'
                    author: Achievement Network
                    provider: Learning Commons
                    license: https://creativecommons.org/licenses/by/4.0/
                    attributionStatement: >-
                      Knowledge Graph is provided by Learning Commons under the
                      CC BY-4.0 license. Learning Commons received learning
                      components under CC BY-4.0 from Achievement Network.
                  - identifier: 0046446a-0a9b-5ace-92a3-23d4bb158c68
                    description: >-
                      Determine the lateral surface area of three-dimensional
                      cylinders in real-world problems
                    academicSubject: Mathematics
                    inLanguage: en-US
                    dateCreated: '2025-04-01'
                    dateModified: '2025-04-01'
                    author: Achievement Network
                    provider: Learning Commons
                    license: https://creativecommons.org/licenses/by/4.0/
                    attributionStatement: >-
                      Knowledge Graph is provided by Learning Commons under the
                      CC BY-4.0 license. Learning Commons received learning
                      components under CC BY-4.0 from Achievement Network.
                pagination:
                  limit: 100
                  nextCursor: >-
                    eyJpZGVudGlmaWVyIjogIjA5OWNlY2NiLTQ3MzItNTZjMC1iZGIxLTYxZjljNmZjYmQ2NSJ9
                  hasMore: true
        '400':
          description: Bad request - Missing required parameter or invalid values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: ValidationError
                message: >-
                  Missing required parameter: academicSubject. Example:
                  ?academicSubject=Mathematics
                requestId: req_12345
        '422':
          description: >-
            Unprocessable Entity - Invalid parameter values (e.g., enum value
            not in allowed list)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: ValidationError
                message: >-
                  Input should be 'English Language Arts', 'Mathematics',
                  'Science', 'Social Studies', or 'Other'
                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 learning
                  components
                requestId: req_12345
components:
  schemas:
    AcademicSubjectENUM:
      type: string
      description: Academic subject area
      enum:
        - English Language Arts
        - Mathematics
        - Science
        - Social Studies
        - Other
    PaginatedResponse:
      type: object
      description: Generic cursor-based paginated response wrapper
      required:
        - data
        - pagination
      properties:
        data:
          type: array
          description: Array of result items
          items:
            type: object
        pagination:
          type: object
          description: Cursor-based pagination metadata
          required:
            - limit
            - hasMore
          properties:
            limit:
              type: integer
              description: Maximum number of results returned per page
            nextCursor:
              type: string
              nullable: true
              description: >-
                Cursor for fetching the next page. Null if no more results
                available. Pass this value as the 'cursor' parameter in the next
                request.
            hasMore:
              type: boolean
              description: >-
                Indicates whether there are more results available after this
                page
    LearningComponent:
      type: object
      description: >
        Represents a single, well-defined skill or concept that students are
        expected to learn.


        Learning Components are granular, precise representations of individual
        skills or concepts that break down broad educational standards into
        teachable and measurable parts. While state standards often define
        learning goals at a high level (sometimes encompassing multiple ideas
        across weeks of instruction), LCs operate at the level where instruction
        happens: during a lesson, an activity, or a single question.


        Each LC is:

        - **Instructionally actionable**: Designed to guide daily teaching
        decisions and interventions

        - **Aligned to academic standards**: Connected to CASE-aligned standards
        through semantic relationships

        - **Interoperable**: Usable across diverse curricula, assessments, and
        platforms

        - **Machine-readable and human-interpretable**: Tagged with unique
        identifiers to support AI-driven content recommendations with
        transparent intent


        LCs are developed through collaborative, expert-driven processes with
        input from experienced educators, primarily from Achievement Network
        (ANet).
      required:
        - identifier
        - author
        - provider
        - license
        - attributionStatement
      properties:
        identifier:
          type: string
          description: >-
            The unique identifier for this learning component in the Knowledge
            Graph system. This is a system-generated identifier that remains
            stable across data updates and can be used to reference this LC in
            queries and relationships.
        description:
          type: string
          description: >-
            A clear, concise statement describing the specific skill or concept
            this learning component represents. This is the instructional target
            that can be taught in a lesson or assessed in a question.
        academicSubject:
          $ref: '#/components/schemas/AcademicSubjectENUM'
          description: >-
            The academic subject area for this learning component. Currently,
            learning components are primarily available for Mathematics, with
            additional subjects being developed.
        inLanguage:
          $ref: '#/components/schemas/LanguageENUM'
          description: The language of the content, in BCP 47 format
        dateCreated:
          type: string
          format: date
          nullable: true
          description: The date on which this learning component was created
        dateModified:
          type: string
          format: date
          nullable: true
          description: >-
            The date on which this learning component was most recently
            modified. Use this field to track when LCs were last updated.
        author:
          type: string
          description: >-
            The author or creator of this learning component, typically the
            organization that developed the LC framework
        provider:
          type: string
          description: >-
            The service provider or organization that makes this data available
            in the knowledge graph
        license:
          type: string
          format: uri
          description: A URL to the license document that applies to this content
        attributionStatement:
          type: string
          description: >-
            A textual credit that acknowledges the source and creator of this
            work, as required by the CC BY 4.0 license. If you display or
            redistribute this learning component, you must include this
            attribution statement to comply with the license terms.
    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
    LanguageENUM:
      type: string
      description: Language code in BCP 47 format
      enum:
        - en-US
        - es-US
  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.

````