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

# Set the metadata on a data frame's schema itself — the file-level
counterpart to the per-column metadata endpoint. Staged into the
workspace, so no commit is required.

> Set the metadata on a data frame's schema itself, the HTTP equivalent of `oxen schemas add <path> -m '{...}'`. Staged into the workspace, so no commit is required. Replaces any existing schema metadata wholesale.



## OpenAPI

````yaml https://hub.oxen.ai/api/_spec/oxen_server_openapi.json put /api/repos/{namespace}/{repo_name}/workspaces/{workspace_id}/data_frames/schema/{path}
openapi: 3.1.0
info:
  description: >-
    Oxen server is a fast data version control backend, supporting local disk
    and S3. Self host your repositories on your own storage, or use the hosted
    platform on Oxen.ai. Stores, syncs, and serves versioned datasets, model
    checkpoints, game assets, studio media, and any large data. Use the oxen CLI
    to push and pull from the oxen server.
  license:
    name: ''
  title: oxen-server
  version: 0.54.0
servers:
  - description: Production API
    url: https://hub.oxen.ai
  - description: Local Development
    url: http://localhost:3000
security:
  - api_key: []
tags:
  - description: Namespace management endpoints
    name: Namespaces
  - description: Repository management endpoints.
    name: Repositories
  - description: >-
      Editing a data frame inside a workspace, including its schema and column
      metadata.
    name: Workspace Data Frames
paths:
  /api/repos/{namespace}/{repo_name}/workspaces/{workspace_id}/data_frames/schema/{path}:
    put:
      tags:
        - Workspace Data Frames
      summary: |-
        Set the metadata on a data frame's schema itself — the file-level
        counterpart to the per-column metadata endpoint. Staged into the
        workspace, so no commit is required.
      description: >-
        Set the metadata on a data frame's schema itself, the HTTP equivalent of
        `oxen schemas add <path> -m '{...}'`. Staged into the workspace, so no
        commit is required. Replaces any existing schema metadata wholesale.
      operationId: put_schema_metadata
      parameters:
        - description: Namespace of the repository
          example: ox
          in: path
          name: namespace
          required: true
          schema:
            type: string
        - description: Name of the repository
          example: ImageNet-1k
          in: path
          name: repo_name
          required: true
          schema:
            type: string
        - description: ID or name of the workspace
          example: b3f27f05-0955-4076-805f-39575853b27b
          in: path
          name: workspace_id
          required: true
          schema:
            type: string
        - description: Path to the data frame within the repository
          example: annotations/train.csv
          in: path
          name: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          text/plain:
            example:
              metadata:
                description: Extracting bounding boxes from images
                task: bounding_box
            schema:
              type: string
        description: >-
          The metadata to store on the schema, under a `metadata` key. The
          `_oxen` key is reserved for metadata oxen itself interprets.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessage'
          description: Schema metadata updated
        '400':
          description: >-
            Missing or invalid `metadata` in the request body, or the path is
            not a tabular data frame
        '404':
          description: Repository, workspace, or data frame not found
        '409':
          description: The data frame is staged for removal in this workspace
components:
  schemas:
    StatusMessage:
      properties:
        oxen_version:
          type:
            - string
            - 'null'
        status:
          type: string
        status_message:
          type: string
      required:
        - status
        - status_message
      type: object
  securitySchemes:
    api_key:
      bearerFormat: JWT
      scheme: bearer
      type: http

````