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

# Get dataset content diversity

> Returns canonical environment, visible-object, and action-verb concepts,
together with object interaction and action-verb/object distributions across
analyzed clips. Descriptive categories are included as optional ways to
group the concepts. This endpoint characterizes content composition; it does
not directly detect duplicate video or determine task completion. Use
`axis` to request one independent concept type.

For field examples and comparison guidance, see [Understand quality
metrics](https://docs.hebbianrobotics.com/quality-metrics).



## OpenAPI

````yaml https://api.hebbianrobotics.com/public-openapi.json get /api/v1beta/quality/content-diversity
openapi: 3.1.0
info:
  description: >-
    Measure video characteristics, hand activity, and content diversity in
    robotics video datasets. Start with `GET /api/v1beta/access`, then list
    available datasets with `GET /api/v1beta/quality/datasets`.
  license:
    identifier: Apache-2.0
    name: Apache-2.0
  title: Robotics Data Quality API
  version: v1beta
servers:
  - description: Production API
    url: https://api.hebbianrobotics.com
security:
  - {}
  - bearer_token: []
tags:
  - description: >-
      Video-characteristics, hand-activity, and content-diversity measurements
      for robotics video data.
    name: quality
  - description: Scope and capabilities granted by a bearer token.
    name: access
paths:
  /api/v1beta/quality/content-diversity:
    get:
      tags:
        - quality
      summary: Get dataset content diversity
      description: >-
        Returns canonical environment, visible-object, and action-verb concepts,

        together with object interaction and action-verb/object distributions
        across

        analyzed clips. Descriptive categories are included as optional ways to

        group the concepts. This endpoint characterizes content composition; it
        does

        not directly detect duplicate video or determine task completion. Use

        `axis` to request one independent concept type.


        For field examples and comparison guidance, see [Understand quality

        metrics](https://docs.hebbianrobotics.com/quality-metrics).
      operationId: getContentDiversity
      parameters:
        - description: Dataset ID from `GET /api/v1beta/quality/datasets`.
          in: query
          name: dataset
          required: true
          schema:
            type: string
        - description: >-
            Opaque `content_diversity` token from an earlier response. Omit to
            use

            the latest measurement.
          in: query
          name: content_diversity
          required: false
          schema:
            type: string
        - description: |-
            Return only one diversity axis: `environments`, `objects`, or
            `action_verbs`.
            Omit it to receive all three independent distributions.
          in: query
          name: axis
          required: false
          schema:
            $ref: '#/components/schemas/QualityDiversityAxisQuery'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentDiversityResponse'
          description: Published concepts and clip distributions by diversity axis
          headers:
            x-request-id:
              description: >-
                Request correlation identifier supplied by the caller or
                generated by the API
              schema:
                type: string
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
          description: The dataset ID or axis is invalid
          headers:
            x-request-id:
              description: >-
                Request correlation identifier supplied by the caller or
                generated by the API
              schema:
                type: string
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
          description: A valid bearer token is required
          headers:
            WWW-Authenticate:
              description: Bearer authentication challenge
              schema:
                type: string
            x-request-id:
              description: >-
                Request correlation identifier supplied by the caller or
                generated by the API
              schema:
                type: string
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
          description: The bearer token cannot read quality measurements
          headers:
            x-request-id:
              description: >-
                Request correlation identifier supplied by the caller or
                generated by the API
              schema:
                type: string
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
          description: >-
            The dataset, content-diversity measurement, or a source measurement
            is unavailable
          headers:
            x-request-id:
              description: >-
                Request correlation identifier supplied by the caller or
                generated by the API
              schema:
                type: string
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
          description: >-
            The requested content-diversity measurement is stale; omit the
            content_diversity token and retry
          headers:
            x-request-id:
              description: >-
                Request correlation identifier supplied by the caller or
                generated by the API
              schema:
                type: string
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
          description: The server could not read content-diversity measurements
          headers:
            x-request-id:
              description: >-
                Request correlation identifier supplied by the caller or
                generated by the API
              schema:
                type: string
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
          description: The server is temporarily unavailable or overloaded
          headers:
            Retry-After:
              description: Seconds to wait before retrying an overloaded request
              schema:
                type: string
            x-request-id:
              description: >-
                Request correlation identifier supplied by the caller or
                generated by the API
              schema:
                type: string
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
          description: The request exceeded the server processing deadline
          headers:
            x-request-id:
              description: >-
                Request correlation identifier supplied by the caller or
                generated by the API
              schema:
                type: string
      security:
        - bearer_token: []
components:
  schemas:
    QualityDiversityAxisQuery:
      enum:
        - environments
        - objects
        - action_verbs
      type: string
    ContentDiversityResponse:
      description: >-
        Dataset content diversity and measurement completeness.


        Use this response to inspect which concepts are present and how
        frequently

        they occur across analyzed clips. It does not directly detect duplicate

        video or determine whether a task was completed correctly.
      properties:
        analyzed_clip_count:
          description: >-
            Number of distinct clips that produced usable content observations.
            This

            is the denominator for every `clip_percent` in `axes` and

            `object_actions`.
          minimum: 0
          type: integer
        axes:
          description: >-
            Independent distributions for environment, object, and action-verb

            concepts. An `axis` query parameter limits this array to one
            requested

            type.
          items:
            $ref: '#/components/schemas/QualityDiversityAxisDto'
          type: array
        content_diversity:
          description: >-
            Opaque content-diversity token. Matching tokens identify results
            from

            the same content-diversity measurement.
          type: string
        coverage_percent:
          description: >-
            Percentage of the planned analysis that successfully produced values

            used in this response, in `[0, 100]`. This is measurement
            completeness,

            not the percentage of footage that passed quality control. `null`
            when

            the planned result count cannot be determined reliably. Non-null
            values

            are rounded to two decimal places.
          format: double
          maximum: 100
          minimum: 0
          type:
            - number
            - 'null'
        dataset:
          description: Dataset ID used in the request.
          type: string
        object_actions:
          $ref: '#/components/schemas/QualityObjectActionsDto'
          description: >-
            Observed action-verb and object combinations. Independent object and

            action-verb distributions are derived from the same activity
            records.
      required:
        - dataset
        - content_diversity
        - coverage_percent
        - analyzed_clip_count
        - axes
        - object_actions
      type: object
    ApiErrorBody:
      description: Error payload returned for handled API failures.
      properties:
        code:
          description: Machine-readable error code, e.g. `dataset_not_found`.
          type: string
        message:
          description: Human-readable message.
          type: string
      required:
        - code
        - message
      type: object
    QualityDiversityAxisDto:
      description: |-
        Concept count and clip distribution for environments, objects, or action
        verbs.
      properties:
        axis:
          description: >-
            Type of concept summarized by this object: `environments`,
            `objects`, or

            `action_verbs`. Each axis is measured independently.
          type: string
        categories:
          description: >-
            Every possible descriptive category for this axis, including
            categories

            with no matching concepts. Use each returned `label` when presenting
            it.
          items:
            $ref: '#/components/schemas/QualityConceptCategoryDto'
          type: array
        concept_count:
          description: |-
            Number of canonical concepts published for this axis. Each concept
            counts once no matter how many clips contain it.
          minimum: 0
          type: integer
        concepts:
          description: >-
            Every published concept, most frequent first, with its clip
            distribution.
          items:
            $ref: '#/components/schemas/QualityConceptDto'
          type: array
      required:
        - axis
        - concept_count
        - categories
        - concepts
      type: object
    QualityObjectActionsDto:
      description: Distribution of observed action-verb and object combinations.
      properties:
        combination_count:
          description: Number of canonical action-verb and object combinations.
          minimum: 0
          type: integer
        combinations:
          description: Every published combination, most frequent first.
          items:
            $ref: '#/components/schemas/QualityObjectActionDto'
          type: array
      required:
        - combination_count
        - combinations
      type: object
    QualityConceptCategoryDto:
      description: |-
        Summary of one descriptive category within a diversity axis.

        Environment categories group setting types. Object and action-verb
        categories group concepts by handling or dexterity characteristics. A
        category is a descriptive bucket, not a quality score.
      properties:
        category:
          description: Stable machine-readable category name.
          type: string
        concept_count:
          description: Number of published concepts assigned to this category.
          minimum: 0
          type: integer
        example_concepts:
          description: Frequent concepts that make the category concrete for a reviewer.
          items:
            type: string
          type: array
        label:
          description: |-
            Display category name. Prefer this value in reports and user
            interfaces.
          type: string
      required:
        - category
        - label
        - concept_count
        - example_concepts
      type: object
    QualityConceptDto:
      description: >-
        One canonical environment, object, or action verb observed in the
        footage.
      properties:
        category:
          description: |-
            Machine-readable category assigned to the concept. `null` when no
            category was assigned. A category is not a quality score.
          type:
            - string
            - 'null'
        clip_count:
          description: >-
            Number of distinct analyzed clips containing the concept. A concept
            is

            counted at most once per clip.
          minimum: 0
          type: integer
        clip_percent:
          description: >-
            Percentage of analyzed clips containing the concept, in `[0, 100]`.

            Concepts can co-occur, so percentages within an axis do not need to
            sum

            to 100. Values are rounded to two decimal places.
          format: double
          maximum: 100
          minimum: 0
          type: number
        concept:
          description: Canonical concept published by the API, such as `cup`.
          type: string
        interaction:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/QualityObjectInteractionDto'
              description: >-
                Clip distribution where this object was visibly involved in an
                action.

                Present only for concepts in the `objects` axis.
      required:
        - concept
        - clip_count
        - clip_percent
        - category
      type: object
    QualityObjectActionDto:
      description: >-
        One canonical action-verb and object combination observed in the
        footage.
      properties:
        action_verb:
          description: Canonical action verb, such as `pick up`.
          type: string
        clip_count:
          description: |-
            Number of distinct analyzed clips containing this combination. A
            combination is counted at most once per clip.
          minimum: 0
          type: integer
        clip_percent:
          description: >-
            Percentage of analyzed clips containing this combination, in `[0,
            100]`.

            Combinations can co-occur, so percentages do not need to sum to 100.

            Rounded to two decimal places.
          format: double
          maximum: 100
          minimum: 0
          type: number
        object:
          description: Canonical object or material involved in the action, such as `cup`.
          type: string
      required:
        - action_verb
        - object
        - clip_count
        - clip_percent
      type: object
    QualityObjectInteractionDto:
      description: How often a visible object was also involved in an observed action.
      properties:
        clip_count:
          description: >-
            Number of distinct analyzed clips where the object was involved in
            at

            least one action. An object is counted at most once per clip.
          minimum: 0
          type: integer
        clip_percent:
          description: >-
            Percentage of analyzed clips where the object was involved in at
            least

            one action, in `[0, 100]`. Rounded to two decimal places.
          format: double
          maximum: 100
          minimum: 0
          type: number
      required:
        - clip_count
        - clip_percent
      type: object
  securitySchemes:
    bearer_token:
      description: Bearer access token issued through OAuth 2.0 client credentials.
      scheme: bearer
      type: http

````