> ## 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 skill by ID

> Fetches a single DurableSkill by its Knowledge Graph identifier.

Use this endpoint when you need to:
- Retrieve the full details of a specific durable skill
- Resolve an identifier returned by GET /durable-skills or the search endpoint

Framework identifiers are not valid here — use GET /durable-skills-frameworks for frameworks.

**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/{identifier}
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/{identifier}:
    get:
      tags:
        - Durable Skills
      summary: Durable skill by ID
      description: >
        Fetches a single DurableSkill by its Knowledge Graph identifier.


        Use this endpoint when you need to:

        - Retrieve the full details of a specific durable skill

        - Resolve an identifier returned by GET /durable-skills or the search
        endpoint


        Framework identifiers are not valid here — use GET
        /durable-skills-frameworks for frameworks.


        **Related topics:**

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

        - [Carnegie Skills
        Progressions](/knowledge-graph/datasets/carnegie-skills-progressions)
      operationId: getDurableSkillByIdentifier
      parameters:
        - $ref: '#/components/parameters/DurableSkillIdentifierPath'
      responses:
        '200':
          description: Successfully retrieved the durable skill
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DurableSkill'
        '404':
          description: Durable skill not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: NotFoundError
                message: Durable skill not found
                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 durable
                  skill
                requestId: req_12345
components:
  parameters:
    DurableSkillIdentifierPath:
      name: identifier
      in: path
      required: true
      description: >-
        The unique identifier for the durable skill in the Knowledge Graph
        system
      schema:
        type: string
  schemas:
    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
    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

````