---
title: "Upload Experiment"
method: POST
path: "/api/v1/datasets/upload-experiment"
tags: ["datasets"]
---

# Upload Experiment

`POST /api/v1/datasets/upload-experiment`

Upload an experiment that has already been run.

## Request body

- ExperimentResultsUpload — Class for uploading the results of an already-run experiment.
  - `experiment_name` string, required
  - `experiment_description` string, nullable
  - `dataset_id` string, uuid, nullable
  - `dataset_name` string, nullable
  - `dataset_description` string, nullable
  - `summary_experiment_scores` FeedbackCreateCoreSchema[], nullable
    - `created_at` string, date-time
    - `modified_at` string, date-time
    - `key` string, required
    - `score` union
      - number
      - integer
      - boolean
    - `value` union
      - number
      - integer
      - boolean
      - string
      - object
    - `comment` string, nullable
    - `correction` union
      - object
      - string
    - `feedback_group_id` string, uuid, nullable
    - `comparative_experiment_id` string, uuid, nullable
    - `id` string, uuid
    - `feedback_source` union
      - AppFeedbackSource — Feedback from the LangChainPlus App.
        - `type` 'app'
        - `metadata` object, nullable
      - APIFeedbackSource — API feedback source.
        - `type` 'api'
        - `metadata` object, nullable
      - ModelFeedbackSource — Model feedback source.
        - `type` 'model'
        - `metadata` object, nullable
      - AutoEvalFeedbackSource — Auto eval feedback source.
        - `type` 'auto_eval'
        - `metadata` object, nullable
    - `feedback_config` FeedbackConfig
      - `type` 'continuous' | 'categorical' | 'freeform', required — Enum for feedback types.
      - `min` number, nullable
      - `max` number, nullable
      - `categories` FeedbackCategory[], nullable
        - `value` number, required
        - `label` string, nullable
    - `extra` object, nullable
  - `results` ExperimentResultRow[], required
    - `row_id` string, uuid, nullable
    - `inputs` object, required
    - `expected_outputs` object, nullable
    - `actual_outputs` object, nullable
    - `evaluation_scores` FeedbackCreateCoreSchema[], nullable
      - `created_at` string, date-time
      - `modified_at` string, date-time
      - `key` string, required
      - `score` union
        - number
        - integer
        - boolean
      - `value` union
        - number
        - integer
        - boolean
        - string
        - object
      - `comment` string, nullable
      - `correction` union
        - object
        - string
      - `feedback_group_id` string, uuid, nullable
      - `comparative_experiment_id` string, uuid, nullable
      - `id` string, uuid
      - `feedback_source` union
        - AppFeedbackSource — Feedback from the LangChainPlus App.
          - `type` 'app'
          - `metadata` object, nullable
        - APIFeedbackSource — API feedback source.
          - `type` 'api'
          - `metadata` object, nullable
        - ModelFeedbackSource — Model feedback source.
          - `type` 'model'
          - `metadata` object, nullable
        - AutoEvalFeedbackSource — Auto eval feedback source.
          - `type` 'auto_eval'
          - `metadata` object, nullable
      - `feedback_config` FeedbackConfig
        - `type` 'continuous' | 'categorical' | 'freeform', required — Enum for feedback types.
        - `min` number, nullable
        - `max` number, nullable
        - `categories` FeedbackCategory[], nullable
          - `value` number, required
          - `label` string, nullable
      - `extra` object, nullable
    - `start_time` string, date-time, required
    - `end_time` string, date-time, required
    - `run_name` string, nullable
    - `error` string, nullable
    - `run_metadata` object, nullable
  - `experiment_start_time` string, date-time, required
  - `experiment_end_time` string, date-time, required
  - `experiment_metadata` object, nullable

## Response `200`

Successful Response

- ExperimentResultsUploadResult — Class for uploading the results of an already-run experiment.
  - `dataset` Dataset, required — Dataset schema.
    - `name` string, required
    - `description` string, nullable
    - `created_at` string, date-time
    - `inputs_schema_definition` object, nullable
    - `outputs_schema_definition` object, nullable
    - `externally_managed` boolean, nullable
    - `transformations` DatasetTransformation[], nullable
      - `path` string[], required
      - `transformation_type` 'convert_to_openai_message' | 'convert_to_openai_tool' | 'remove_system_messages' | 'remove_extra_fields' | 'extract_tools_from_run', required — Enum for dataset transformation types. Ordering determines the order in which transformations are applied if there are multiple transformations on the same path.
    - `data_type` 'kv' | 'llm' | 'chat' — Enum for dataset data types.
    - `id` string, uuid, required
    - `tenant_id` string, uuid, required
    - `example_count` integer, nullable
    - `session_count` integer, required
    - `modified_at` string, date-time, required
    - `last_session_start_time` string, date-time, nullable
    - `metadata` object, nullable
    - `baseline_experiment_id` string, uuid, nullable
  - `experiment` TracerSession, required — TracerSession schema.
    - `start_time` string, date-time
    - `end_time` string, date-time, nullable
    - `extra` object, nullable
    - `name` string
    - `description` string, nullable
    - `default_dataset_id` string, uuid, nullable
    - `reference_dataset_id` string, uuid, nullable
    - `trace_tier` 'longlived' | 'shortlived'
    - `id` string, uuid, required
    - `run_count` integer, nullable
    - `latency_p50` number, nullable
    - `latency_p99` number, nullable
    - `first_token_p50` number, nullable
    - `first_token_p99` number, nullable
    - `total_tokens` integer, nullable
    - `prompt_tokens` integer, nullable
    - `completion_tokens` integer, nullable
    - `total_cost` string, nullable
    - `prompt_cost` string, nullable
    - `completion_cost` string, nullable
    - `tenant_id` string, uuid, required
    - `last_run_start_time` string, date-time, nullable
    - `last_run_start_time_live` string, date-time, nullable
    - `feedback_stats` object, nullable
    - `session_feedback_stats` object, nullable
    - `run_facets` object[], nullable
    - `error_rate` number, nullable
    - `streaming_rate` number, nullable
    - `test_run_number` integer, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/langchain-ai/apis/langsmith.md) · [All operations](https://skmtc.net/langchain-ai/apis/langsmith/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/langchain-ai/langsmith/versions/a0acb3a6a101/schema)
