> ## 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 corpus-level hand-activity measurements.

> Returns the share of measured footage with visible hands, two visible
hands, and active manipulation. Coverage fields show which footage did not
contribute to the result.



## OpenAPI

````yaml https://api.hebbianrobotics.com/public-openapi.json get /api/quality/hand-activity
openapi: 3.1.0
info:
  description: >-
    Use content diversity, frame-quality, and hand-activity metrics to evaluate
    robot and egocentric video datasets. Start with `GET /api/access`, then list
    available datasets with `GET /api/quality/datasets`.
  license:
    identifier: Apache-2.0
    name: Apache-2.0
  title: Robotics Data Quality API
  version: 0.0.0
servers:
  - description: Production API
    url: https://api.hebbianrobotics.com
security:
  - {}
  - bearer_token: []
tags:
  - description: >-
      Content diversity, frame-quality, and hand-activity metrics for robotics
      video data.
    name: quality
  - description: Scope and capabilities granted by a bearer token.
    name: access
paths:
  /api/quality/hand-activity:
    get:
      tags:
        - quality
      summary: Get corpus-level hand-activity measurements.
      description: >-
        Returns the share of measured footage with visible hands, two visible

        hands, and active manipulation. Coverage fields show which footage did
        not

        contribute to the result.
      operationId: hand_activity_route
      parameters:
        - description: Dataset ID from `GET /api/quality/datasets`.
          in: query
          name: dataset
          required: true
          schema:
            type: string
        - description: >-
            Opaque `analysis` token from an earlier response. Omit to use the
            latest

            measurement.
          in: query
          name: analysis
          required: false
          schema:
            type:
              - string
              - 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HandActivityResponse'
          description: Hand-activity shares and coverage
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
          description: The dataset ID is invalid
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
          description: A valid bearer token is required
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorBody'
          description: The dataset or hand-activity measurement is unavailable
      security:
        - bearer_token: []
components:
  schemas:
    HandActivityResponse:
      description: >-
        Corpus-level hand-activity shares and measurement coverage.


        Each share uses `measured_seconds` as its denominator and is `null` when
        no

        footage was measured.
      properties:
        active_manipulation_share:
          description: Share of measured footage showing active manipulation.
          format: double
          type:
            - number
            - 'null'
        analysis:
          description: |-
            Opaque measurement token. Matching tokens identify results from the
            same measurement.
          type: string
        clips:
          description: Clips included in the analysis.
          minimum: 0
          type: integer
        dataset:
          description: Dataset ID used in the request.
          type: string
        hands_visible_share:
          description: >-
            Share of measured footage with at least one camera-wearer hand
            visible.
          format: double
          type:
            - number
            - 'null'
        measured_seconds:
          description: Assessed footage in seconds. This is the denominator for each share.
          format: double
          type: number
        segments_unassessed:
          description: |-
            Segments that could not be assessed. They are excluded from
            `measured_seconds`.
          minimum: 0
          type: integer
        segments_unusable:
          description: |-
            Segments with an unusable assessment. They are excluded from
            `measured_seconds`.
          minimum: 0
          type: integer
        two_hands_visible_share:
          description: Share of measured footage with both camera-wearer hands visible.
          format: double
          type:
            - number
            - 'null'
      required:
        - dataset
        - analysis
        - clips
        - measured_seconds
        - segments_unassessed
        - segments_unusable
      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
  securitySchemes:
    bearer_token:
      description: Bearer access token issued through OAuth 2.0 client credentials.
      scheme: bearer
      type: http

````