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

# Durable skills in a framework

> Fetches a list of DurableSkill objects within a specific durable skills framework.

Returns every item in the framework's hierarchy, from top-level skills through to the most granular progression levels. Use `normalizedStatementType` to retrieve only skill statements and exclude the organizational groupings that structure them.

Use this endpoint when you need to:
- Retrieve the full contents of a durable skills framework
- Export a framework's skills for mapping to your own content
- Browse a framework's structure before navigating it with /durable-skills/{identifier}/children

**Related topics:**
- [XQ Competencies](/knowledge-graph/datasets/xq-competencies)
- [Carnegie Skills Progressions](/knowledge-graph/datasets/carnegie-skills-progressions)




## OpenAPI

````yaml /api-reference/knowledge-graph-api/openapi.yaml get /durable-skills
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:
  /durable-skills:
    get:
      tags:
        - Durable Skills
      summary: Durable skills in a framework
      description: >
        Fetches a list of DurableSkill objects within a specific durable skills
        framework.


        Returns every item in the framework's hierarchy, from top-level skills
        through to the most granular progression levels. Use
        `normalizedStatementType` to retrieve only skill statements and exclude
        the organizational groupings that structure them.


        Use this endpoint when you need to:

        - Retrieve the full contents of a durable skills framework

        - Export a framework's skills for mapping to your own content

        - Browse a framework's structure before navigating it with
        /durable-skills/{identifier}/children


        **Related topics:**

        - [XQ Competencies](/knowledge-graph/datasets/xq-competencies)

        - [Carnegie Skills
        Progressions](/knowledge-graph/datasets/carnegie-skills-progressions)
      operationId: listDurableSkills
      parameters:
        - $ref: '#/components/parameters/DurableSkillsFrameworkIdentifierParam'
        - $ref: '#/components/parameters/NormalizedStatementTypeParam'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/CursorParam'
      responses:
        '200':
          description: Successfully retrieved list of durable skills
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResponse'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/DurableSkill'
              example:
                data:
                  - identifier: 3f2a9c11-5b7e-5d02-9a44-7c1e83b2d905
                    statementCode: COL.1.1A.1
                    name: Exploring
                    description: >-
                      Asks questions to better understand a topic, group task or
                      shared goal.
                    statementType: Progression Level
                    normalizedStatementType: Standard
                    gradeLevel:
                      - '9'
                      - '10'
                      - '11'
                      - '12'
                    jurisdiction: Multi-State
                    inLanguage: en-US
                    dateCreated: '2026-07-07'
                    dateModified: '2026-07-07'
                    notes: null
                    author: Carnegie Foundation for the Advancement of Teaching
                    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 the Carnegie
                      Skills Progressions curriculum under CC BY-4.0 from
                      Carnegie Foundation for the Advancement of Teaching.
                    hasChildren: false
                pagination:
                  limit: 100
                  nextCursor: >-
                    eyJpZGVudGlmaWVyIjogIjczYTJhNWY5LWRjOGUtNWE3Yi1iMzc4LTYzZGNmOWViZjFiNSJ9
                  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: frameworkIdentifier. Obtain it
                  from GET /durable-skills-frameworks.
                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 'Standard', 'Standard Grouping', 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 durable skills
                requestId: req_12345
components:
  parameters:
    DurableSkillsFrameworkIdentifierParam:
      name: frameworkIdentifier
      in: query
      required: true
      description: >-
        The identifier of the durable skills framework to retrieve skills from.
        Obtain this value from the 'identifier' field of GET
        /durable-skills-frameworks.
      schema:
        type: string
    NormalizedStatementTypeParam:
      name: normalizedStatementType
      in: query
      required: false
      description: >-
        Filter by normalized classification. Use this to retrieve only skills
        (exclude organizational groupings) or to separate different types of
        framework elements.
      schema:
        $ref: '#/components/schemas/NormalizedStatementTypeENUM'
    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
  schemas:
    PaginatedResponse:
      type: object
      description: Cursor-based paginated response
      required:
        - data
        - pagination
      properties:
        data:
          type: array
          description: Array of result items
          items:
            type: object
        pagination:
          $ref: '#/components/schemas/Pagination'
    DurableSkill:
      type: object
      description: >
        Represents an individual element within a durable skills framework —
        either a skill statement or an organizational grouping that structures
        them.


        Durable skills frameworks organize their content hierarchically, and
        each framework uses its own vocabulary for the levels (for example
        "Competency" and "Component Skill" in XQ Competencies, or "Subskill" and
        "Indicator" in Carnegie Skills Progressions). Use
        `normalizedStatementType` for a classification that is consistent across
        frameworks, and `statementType` to see the framework's own label.


        These items are published outside the CASE Network, so they carry no
        CASE identifiers and are addressed by their Knowledge Graph
        `identifier`.
      required:
        - identifier
        - author
        - provider
        - license
        - attributionStatement
        - hasChildren
      properties:
        identifier:
          type: string
          description: >-
            The unique identifier for this item in the Knowledge Graph system.
            This is a system-generated identifier that remains stable across
            data updates and can be used to reference this item in queries and
            relationships.
        statementCode:
          type: string
          nullable: true
          description: >-
            A short, human-readable code that identifies this item within its
            framework, reflecting its position in the hierarchy (e.g.
            "COL.1.1A.1", "FK.AC.1.a"). This is the code practitioners use to
            reference the skill in materials and planning tools.
        name:
          type: string
          nullable: true
          description: >-
            A short label for this item. For progression levels this names the
            level reached (e.g. "Exploring", "Analyzing", "Integrating",
            "Extending"), which distinguishes sibling levels under the same
            parent. May be null for organizational groupings that carry no
            separate label.
        description:
          type: string
          nullable: true
          description: >-
            The full text of the skill statement or organizational element,
            describing what a learner should know or be able to do. May be null
            for purely structural groupings.
        statementType:
          type: string
          nullable: true
          description: >-
            The classification label used by the source framework for this item
            (e.g. "Competency", "Component Skill", "Progression Level",
            "Subskill", "Indicator"). This preserves the framework's own
            terminology, which differs between frameworks. Use
            normalizedStatementType for cross-framework comparisons.
        normalizedStatementType:
          $ref: '#/components/schemas/NormalizedStatementTypeENUM'
          description: >-
            A normalized classification describing the broad functional role of
            this item, standardized across frameworks regardless of each
            framework's own labels. Use this to separate skill statements from
            the groupings that organize them.
          nullable: true
        gradeLevel:
          type: array
          nullable: true
          description: The educational grade level(s) for which this item is intended
          items:
            $ref: '#/components/schemas/GradeLevelENUM'
        jurisdiction:
          $ref: '#/components/schemas/JurisdictionENUM'
          description: >-
            The governing body responsible for publishing this item. Durable
            skills are not state-specific and are published as "Multi-State".
        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 item was created in the source system
        dateModified:
          type: string
          format: date
          nullable: true
          description: >-
            The date on which this item was most recently modified in the source
            system
        notes:
          type: string
          nullable: true
          description: >-
            Optional field containing additional context, commentary or usage
            guidance about this item
        author:
          type: string
          description: >-
            The author or creator of this content, typically the organization
            that published the 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 content, you must include this attribution
            statement to comply with the license terms.
        hasChildren:
          type: boolean
          description: >-
            True if this item has at least one direct child via the "hasChild"
            relationship. Use this flag to decide whether to render an
            expand/collapse affordance and whether a follow-up call to
            /durable-skills/{identifier}/children will return results, avoiding
            requests that yield empty pages.
    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
    NormalizedStatementTypeENUM:
      type: string
      description: >-
        Classification label that has been standardized across standards
        frameworks for cross-state queries and categorization
      enum:
        - Standard
        - Standard Grouping
        - Other
    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
    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'
    JurisdictionENUM:
      type: string
      description: US state, territory, or multi-state designation
      enum:
        - Alabama
        - Alaska
        - Arizona
        - Arkansas
        - California
        - Colorado
        - Connecticut
        - Delaware
        - Florida
        - Georgia
        - Hawaii
        - Idaho
        - Illinois
        - Indiana
        - Iowa
        - Kansas
        - Kentucky
        - Louisiana
        - Maine
        - Maryland
        - Massachusetts
        - Michigan
        - Minnesota
        - Mississippi
        - Missouri
        - Montana
        - Nebraska
        - Nevada
        - New Hampshire
        - New Jersey
        - New Mexico
        - New York
        - North Carolina
        - North Dakota
        - Ohio
        - Oklahoma
        - Oregon
        - Pennsylvania
        - Rhode Island
        - South Carolina
        - South Dakota
        - Tennessee
        - Texas
        - Utah
        - Vermont
        - Virginia
        - Washington
        - Washington, D.C.
        - West Virginia
        - Wisconsin
        - Wyoming
        - Multi-State
    LanguageENUM:
      type: string
      description: Language used in the resource (BCP 47 format)
      enum:
        - en-US
        - es-US
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication

````