> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hebbianrobotics.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Every dataset this credential can read, and which measurements each one
carries today.

> The entry point of the query interface: every other route takes a dataset
id, and this is where one comes from.

A dataset with an empty `metrics` list is registered but not yet enriched —
reported rather than hidden, so a corpus that was handed over and not yet
measured is visible instead of looking like it was never received.



## OpenAPI

````yaml https://api.hebbianrobotics.com/openapi.json get /api/quality/datasets
openapi: 3.1.0
info:
  title: squash
  description: >-
    Semantic search and debugging over LeRobot robot-episode datasets: register
    and index datasets, search episodes by natural language with frame-level
    evidence, inspect and annotate episodes, run episode-level analytics, export
    selections as new LeRobot datasets, and follow every operation live on the
    global event stream.


    Requests may select an organization's data by sending its id in the
    `X-Squash-Organization-Id` header; without it a request is scoped to public
    data.
  license:
    name: Apache-2.0
    identifier: Apache-2.0
  version: 0.0.0
servers:
  - url: https://api.hebbianrobotics.com
    description: Hosted squash API
security:
  - {}
  - bearer_token: []
tags:
  - name: search
    description: Natural-language search over indexed episodes.
  - name: episodes
    description: >-
      Browse, inspect, and stream one episode's metadata, frames, and
      timeseries.
  - name: datasets
    description: Register datasets, follow indexing, and manage catalog entries.
  - name: analytics
    description: >-
      Corpus-level measurements: similarity, near-duplicates, coverage, and
      consistency.
  - name: quality
    description: >-
      Stored Quality Indexing reports: diversity and cleanliness scores over an
      enriched corpus.
  - name: annotations
    description: 'Human curation: episode annotations and mutually-exclusive curation flags.'
  - name: exports
    description: Export a selection of episodes as a new LeRobot dataset.
  - name: jobs
    description: 'Durable pipeline jobs: acquisition, conversion, and their records.'
  - name: backfills
    description: Queue derived-artifact backfills against an active index.
  - name: events
    description: Server-sent event streams of live activity.
  - name: access
    description: The effective capabilities of the calling principal.
paths:
  /api/quality/datasets:
    get:
      tags:
        - quality
      summary: |-
        Every dataset this credential can read, and which measurements each one
        carries today.
      description: >-
        The entry point of the query interface: every other route takes a
        dataset

        id, and this is where one comes from.


        A dataset with an empty `metrics` list is registered but not yet
        enriched —

        reported rather than hidden, so a corpus that was handed over and not
        yet

        measured is visible instead of looking like it was never received.
      operationId: quality_datasets_route
      responses:
        '200':
          description: Readable datasets and their stored measurements
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualityDatasetsResponse'
        '401':
          description: A valid bearer credential is required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
      security:
        - bearer_token: []
components:
  schemas:
    QualityDatasetsResponse:
      type: object
      description: Response of `GET /api/quality/datasets`.
      required:
        - datasets
      properties:
        datasets:
          type: array
          items:
            $ref: '#/components/schemas/QualityDatasetDto'
          description: Every dataset the caller's credential can read, by id.
    ApiErrorBody:
      type: object
      description: Error payload returned by every failing API route.
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Machine-readable error code, e.g. `dataset_not_found`.
        message:
          type: string
          description: Human-readable message.
    QualityDatasetDto:
      type: object
      description: >-
        One dataset a caller may address, and what it can answer.


        Deliberately carries no content addresses. The hashes are how we address
        a

        stored run internally; publishing them in a discovery response would
        invite

        an integration to pin one, which turns every re-measurement into a
        breaking

        change for the customer that pinned it. A caller names the dataset and
        gets

        its most recent measurements; the response of each metric route echoes
        back

        the exact run that answered, so two answers can still be told apart.
      required:
        - dataset
        - metrics
      properties:
        dataset:
          type: string
          description: The value every metric route's `dataset` parameter takes.
        metrics:
          type: array
          items:
            $ref: '#/components/schemas/QualityMetric'
          description: |-
            The metrics stored for this dataset today, ascending. Empty for a
            dataset that carries no enrichment yet.
    QualityMetric:
      type: string
      description: >-
        One measurement a dataset can answer for, named as the route that serves

        it.


        A dataset carries a measurement when the enrichment behind it is stored:

        `cleanliness` needs both an analysis and a frame-quality run,
        `vocabulary`

        and `clips` need a classification, `hand_activity` needs a hand-activity

        analysis. Absence means not measured yet, never measured-and-empty.
      enum:
        - vocabulary
        - clips
        - cleanliness
        - hand_activity
  securitySchemes:
    bearer_token:
      type: http
      scheme: bearer
      description: >-
        Capability-bearing token issued by a squash operator. Required for
        curation, exports, dataset registration, and job control when the
        deployment runs in gated mode; public reads stay open. `GET /api/access`
        reports the capabilities a given credential actually carries.

````