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

# Search standards

> Searches for StandardsFrameworkItems using either semantic search or exact statement code match across all standards frameworks.

This endpoint supports two mutually exclusive search modes:

- **Semantic search** (`query`): Full-text semantic search against the standard's description. Results are ranked by relevance and include a `score` reflecting vector similarity.
- **Code search** (`statementCode`): Exact statement code match (e.g., "3.NF.A.1"). Case-insensitive, no partial matching. All results carry a `score` of 1.0.

**Exactly one of `query` or `statementCode` must be provided.** Providing both or neither returns a 400 error.

Results can be narrowed further using the optional filters and support cursor-based pagination.

Use this endpoint when you need to:
- Find academic standards relevant to a concept or learning goal (semantic search)
- Look up an academic standard by its exact statement code
- Find all standards frameworks that include a specific statement code
- Filter search results by grade level, subject, or statement type

**Note:** Not all academic standards have statement codes - some organizational groupings may have null codes and won't appear in code search results.

**Related topics:**
- [Understanding statement codes](/knowledge-graph/graph-reference/academic-standards#standardsframeworkitem)




## OpenAPI

````yaml /api-reference/knowledge-graph-api/openapi.yaml get /academic-standards/search
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:
  /academic-standards/search:
    get:
      tags:
        - Academic Standards
        - Search
      summary: Search standards
      description: >
        Searches for StandardsFrameworkItems using either semantic search or
        exact statement code match across all standards frameworks.


        This endpoint supports two mutually exclusive search modes:


        - **Semantic search** (`query`): Full-text semantic search against the
        standard's description. Results are ranked by relevance and include a
        `score` reflecting vector similarity.

        - **Code search** (`statementCode`): Exact statement code match (e.g.,
        "3.NF.A.1"). Case-insensitive, no partial matching. All results carry a
        `score` of 1.0.


        **Exactly one of `query` or `statementCode` must be provided.**
        Providing both or neither returns a 400 error.


        Results can be narrowed further using the optional filters and support
        cursor-based pagination.


        Use this endpoint when you need to:

        - Find academic standards relevant to a concept or learning goal
        (semantic search)

        - Look up an academic standard by its exact statement code

        - Find all standards frameworks that include a specific statement code

        - Filter search results by grade level, subject, or statement type


        **Note:** Not all academic standards have statement codes - some
        organizational groupings may have null codes and won't appear in code
        search results.


        **Related topics:**

        - [Understanding statement
        codes](/knowledge-graph/graph-reference/academic-standards#standardsframeworkitem)
      operationId: searchAcademicStandards
      parameters:
        - name: query
          in: query
          required: false
          description: >-
            Free-text query for semantic search against academic standard
            descriptions (cannot be used with `statementCode`)
          schema:
            type: string
            maxLength: 500
        - name: statementCode
          in: query
          required: false
          description: "Statement code used for case-insensitive exact match –\_e.g., \"3.NF.A.1\" matches \"3.nf.a.1\" (cannot be used with `query`)"
          schema:
            type: string
            maxLength: 50
        - $ref: '#/components/parameters/GradeLevelParam'
        - name: academicSubject
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/AcademicSubjectENUM'
        - name: normalizedStatementType
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/NormalizedStatementTypeENUM'
        - name: jurisdiction
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/JurisdictionENUM'
            default: Multi-State
        - name: limit
          in: query
          required: false
          description: Maximum number of results to return
          schema:
            type: integer
            minimum: 1
            maximum: 50
            default: 5
      responses:
        '200':
          description: Successfully retrieved search results (ranked by relevance)
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AcademicStandardSearchResult'
              example:
                - caseIdentifierUUID: fa29b90a-2795-4bf5-b6bc-3ac4a695e9e2
                  statementCode: 6.NS.B.4
                  description: >-
                    Find the greatest common factor of two whole numbers less
                    than or equal to 100 and the least common multiple of two
                    whole numbers less than or equal to 12.
                  jurisdiction: Washington, D.C.
                  author: 1EdTech
                  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.
                  score: 0.92
                - caseIdentifierUUID: 61b03523-d7cc-11e8-824f-0242ac160002
                  statementCode: 6.NS.B.4
                  description: >-
                    Find the greatest common factor of two whole numbers less
                    than or equal to 100 and the least common multiple of two
                    whole numbers less than or equal to 12.
                  jurisdiction: Maryland
                  author: 1EdTech
                  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.
                  score: 0.87
        '400':
          description: Bad request - exactly one of query or statementCode must be provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: ValidationError
                message: >-
                  Exactly one of query or statementCode must be provided.
                  Example: ?query=greatest+common+factor or
                  ?statementCode=3.NF.A.1
                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 'Alabama', 'Alaska', ..., or 'Multi-State'
                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 searching for academic
                  standards
                requestId: req_12345
components:
  parameters:
    GradeLevelParam:
      name: gradeLevel
      in: query
      required: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/GradeLevelENUM'
      style: form
      explode: true
      example:
        - '9'
        - '10'
  schemas:
    AcademicSubjectENUM:
      type: string
      description: Academic subject area
      enum:
        - English Language Arts
        - Mathematics
        - Science
        - Social Studies
        - Other
    NormalizedStatementTypeENUM:
      type: string
      description: >-
        Classification label that has been standardized across standards
        frameworks for cross-state queries and categorization
      enum:
        - Standard
        - Standard Grouping
        - Other
    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
    AcademicStandardSearchResult:
      description: >-
        StandardsFrameworkItemSummary enriched with a relevance score from the
        search.
      allOf:
        - $ref: '#/components/schemas/StandardsFrameworkItemSummary'
        - type: object
          required:
            - score
          properties:
            score:
              type: number
              format: float
              minimum: 0
              maximum: 1
              description: >-
                Relevance score between 0 and 1 (reflects vector similarity for
                semantic search; 1.0 for exact code match)
    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
    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'
    StandardsFrameworkItemSummary:
      type: object
      description: >
        Lightweight representation of a StandardsFrameworkItem containing only
        essential identifying information.


        Used in relationship endpoints (learning progressions, related
        standards) to keep responses fast and enable efficient graph traversal.
        To retrieve full details for a standard, use the GET
        /standards/{caseIdentifierUUID} endpoint.
      required:
        - caseIdentifierUUID
        - author
        - provider
        - license
        - attributionStatement
      properties:
        caseIdentifierUUID:
          type: string
          format: uuid
          description: CASE Network UUID for the resource
        statementCode:
          type: string
          nullable: true
          description: >-
            Code that identifies a standard within its standards framework
            (e.g., "3.NF.A.1", "A.1B", "MP1"); `null` for organizational
            groupings without assigned codes
        description:
          type: string
          nullable: true
          description: >-
            Full text of the standard describing what students should know or be
            able to do
        jurisdiction:
          $ref: '#/components/schemas/JurisdictionENUM'
        author:
          type: string
          description: Author or creator of the resource
        provider:
          type: string
          description: Source data provider for the resource
        license:
          type: string
          format: uri
          description: URL to the resource's license document
        attributionStatement:
          type: string
          description: >-
            Statement that acknowledges the resource's author and provider, as
            required by the CC BY 4.0 license
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication

````