Helicone Experiment API

The Experiment API from Helicone — 40 operation(s) for experiment.

Operations 44

POST /v2/experiment/create/empty #
POST /v2/experiment/create/from-request/{requestId} #
POST /v2/experiment/new #
GET /v2/experiment #
DELETE /v2/experiment/{experimentId} #
GET /v2/experiment/{experimentId} #
POST /v2/experiment/{experimentId}/prompt-version #
DELETE /v2/experiment/{experimentId}/prompt-version/{promptVersionId} #
GET /v2/experiment/{experimentId}/prompt-versions #
GET /v2/experiment/{experimentId}/input-keys #
POST /v2/experiment/{experimentId}/add-manual-row #
POST /v2/experiment/{experimentId}/add-manual-rows-batch #
DELETE /v2/experiment/{experimentId}/rows #
POST /v2/experiment/{experimentId}/row/insert/batch #
POST /v2/experiment/{experimentId}/row/insert/dataset/{datasetId} #
POST /v2/experiment/{experimentId}/row/update #
POST /v2/experiment/{experimentId}/run-hypothesis #
GET /v2/experiment/{experimentId}/evaluators #
POST /v2/experiment/{experimentId}/evaluators #
DELETE /v2/experiment/{experimentId}/evaluators/{evaluatorId} #
POST /v2/experiment/{experimentId}/evaluators/run #
GET /v2/experiment/{experimentId}/should-run-evaluators #
GET /v2/experiment/{experimentId}/{promptVersionId}/scores #
GET /v2/experiment/{experimentId}/{requestId}/{scoreKey} #
POST /v1/experiment/new-empty #
POST /v1/experiment/table/new #
POST /v1/experiment/table/{experimentTableId}/query #
POST /v1/experiment/table/{experimentTableId}/metadata/query #
POST /v1/experiment/tables/query #
POST /v1/experiment/table/{experimentTableId}/cell #
PATCH /v1/experiment/table/{experimentTableId}/cell #
POST /v1/experiment/table/{experimentTableId}/column #
POST /v1/experiment/table/{experimentTableId}/row/new #
DELETE /v1/experiment/table/{experimentTableId}/row/{rowIndex} #
POST /v1/experiment/table/{experimentTableId}/row/insert/batch #
POST /v1/experiment/update-meta #
POST /v1/experiment #
POST /v1/experiment/hypothesis #
POST /v1/experiment/hypothesis/{hypothesisId}/scores/query #
GET /v1/experiment/{experimentId}/evaluators #
POST /v1/experiment/{experimentId}/evaluators #
POST /v1/experiment/{experimentId}/evaluators/run #
DELETE /v1/experiment/{experimentId}/evaluators/{evaluatorId} #
POST /v1/experiment/query #

Documentation

📖
Documentation
https://docs.helicone.ai/
📖
GettingStarted
https://docs.helicone.ai/getting-started/quick-start
📖
APIReference
https://docs.helicone.ai/rest/request/post-v1requestquery
📖
Documentation
https://docs.helicone.ai/gateway/overview
📖
APIReference
https://docs.helicone.ai/rest/ai-gateway/post-v1-chat-completions
📖
Documentation
https://docs.helicone.ai/rest/request/post-v1requestquery
📖
Documentation
https://docs.helicone.ai/rest/prompts/post-v1prompt-2025
📖
Documentation
https://docs.helicone.ai/features/experiments
📖
APIReference
https://docs.helicone.ai/rest/experiment/post-v1experiment-evaluatorsrun
📖
Documentation
https://docs.helicone.ai/rest/evals/post-v1evals
📖
Documentation
https://docs.helicone.ai/features/sessions
📖
APIReference
https://docs.helicone.ai/rest/session/post-v1sessionquery
📖
Documentation
https://docs.helicone.ai/features/advanced-usage/user-metrics
📖
APIReference
https://docs.helicone.ai/rest/user/post-v1userquery
📖
Documentation
https://docs.helicone.ai/features/webhooks
📖
APIReference
https://docs.helicone.ai/rest/webhooks/get-v1webhooks
📖
Documentation
https://docs.helicone.ai/rest/models/get-v1public-model-registry-models
📖
Documentation
https://docs.helicone.ai/rest/trace/post-v1tracelog
📖
Documentation
https://docs.helicone.ai/rest/dashboard/post-v1dashboardscoresquery
📖
Documentation
https://docs.helicone.ai/features/advanced-usage/custom-properties
📖
APIReference
https://docs.helicone.ai/rest/property/post-v1propertyquery

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/helicone-experiment-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

helicone-experiment-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: helicone-api Agent Experiment API
  version: 1.0.0
  license:
    name: MIT
  contact: {}
servers:
- url: https://api.helicone.ai/
- url: http://localhost:8585/
tags:
- name: Experiment
paths:
  /v2/experiment/create/empty:
    post:
      operationId: CreateEmptyExperiment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result__experimentId-string_.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters: []
  /v2/experiment/create/from-request/{requestId}:
    post:
      operationId: CreateExperimentFromRequest
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result__experimentId-string_.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: requestId
        required: true
        schema:
          type: string
  /v2/experiment/new:
    post:
      operationId: CreateNewExperiment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result__experimentId-string_.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                originalPromptVersion:
                  type: string
                name:
                  type: string
              required:
              - originalPromptVersion
              - name
              type: object
  /v2/experiment:
    get:
      operationId: GetExperiments
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_ExperimentV2-Array.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters: []
  /v2/experiment/{experimentId}:
    delete:
      operationId: DeleteExperiment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
    get:
      operationId: GetExperimentById
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_ExtendedExperimentData.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
  /v2/experiment/{experimentId}/prompt-version:
    post:
      operationId: CreateNewPromptVersionForExperiment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_PromptVersionResult.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateNewPromptVersionForExperimentParams'
  /v2/experiment/{experimentId}/prompt-version/{promptVersionId}:
    delete:
      operationId: DeletePromptVersion
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      - in: path
        name: promptVersionId
        required: true
        schema:
          type: string
  /v2/experiment/{experimentId}/prompt-versions:
    get:
      operationId: GetPromptVersionsForExperiment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_ExperimentV2PromptVersion-Array.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
  /v2/experiment/{experimentId}/input-keys:
    get:
      operationId: GetInputKeysForExperiment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_string-Array.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
  /v2/experiment/{experimentId}/add-manual-row:
    post:
      operationId: AddManualRowToExperiment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_string.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                inputs:
                  $ref: '#/components/schemas/Record_string.string_'
              required:
              - inputs
              type: object
  /v2/experiment/{experimentId}/add-manual-rows-batch:
    post:
      operationId: AddManualRowsToExperimentBatch
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                inputs:
                  items:
                    $ref: '#/components/schemas/Record_string.string_'
                  type: array
              required:
              - inputs
              type: object
  /v2/experiment/{experimentId}/rows:
    delete:
      operationId: DeleteExperimentTableRows
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                inputRecordIds:
                  items:
                    type: string
                  type: array
              required:
              - inputRecordIds
              type: object
  /v2/experiment/{experimentId}/row/insert/batch:
    post:
      operationId: CreateExperimentTableRowBatch
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                rows:
                  items:
                    properties:
                      autoInputs:
                        items: {}
                        type: array
                      inputs:
                        $ref: '#/components/schemas/Record_string.string_'
                      inputRecordId:
                        type: string
                    required:
                    - autoInputs
                    - inputs
                    - inputRecordId
                    type: object
                  type: array
              required:
              - rows
              type: object
  /v2/experiment/{experimentId}/row/insert/dataset/{datasetId}:
    post:
      operationId: CreateExperimentTableRowFromDataset
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      - in: path
        name: datasetId
        required: true
        schema:
          type: string
  /v2/experiment/{experimentId}/row/update:
    post:
      operationId: UpdateExperimentTableRow
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                inputs:
                  $ref: '#/components/schemas/Record_string.string_'
                inputRecordId:
                  type: string
              required:
              - inputs
              - inputRecordId
              type: object
  /v2/experiment/{experimentId}/run-hypothesis:
    post:
      operationId: RunHypothesis
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_string.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                inputRecordId:
                  type: string
                promptVersionId:
                  type: string
              required:
              - inputRecordId
              - promptVersionId
              type: object
  /v2/experiment/{experimentId}/evaluators:
    get:
      operationId: GetExperimentEvaluators
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_EvaluatorResult-Array.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
    post:
      operationId: CreateExperimentEvaluator
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                evaluatorId:
                  type: string
              required:
              - evaluatorId
              type: object
  /v2/experiment/{experimentId}/evaluators/{evaluatorId}:
    delete:
      operationId: DeleteExperimentEvaluator
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      - in: path
        name: evaluatorId
        required: true
        schema:
          type: string
  /v2/experiment/{experimentId}/evaluators/run:
    post:
      operationId: RunExperimentEvaluators
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
  /v2/experiment/{experimentId}/should-run-evaluators:
    get:
      operationId: ShouldRunEvaluators
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_boolean.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
  /v2/experiment/{experimentId}/{promptVersionId}/scores:
    get:
      operationId: GetExperimentPromptVersionScores
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_Record_string.ScoreV2_.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      - in: path
        name: promptVersionId
        required: true
        schema:
          type: string
  /v2/experiment/{experimentId}/{requestId}/{scoreKey}:
    get:
      operationId: GetExperimentScore
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_ScoreV2-or-null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      - in: path
        name: requestId
        required: true
        schema:
          type: string
      - in: path
        name: scoreKey
        required: true
        schema:
          type: string
  /v1/experiment/new-empty:
    post:
      operationId: CreateNewEmptyExperiment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result__experimentId-string_.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                datasetId:
                  type: string
                metadata:
                  $ref: '#/components/schemas/Record_string.string_'
              required:
              - datasetId
              - metadata
              type: object
  /v1/experiment/table/new:
    post:
      operationId: CreateNewExperimentTable
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result__tableId-string--experimentId-string_.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateExperimentTableParams'
  /v1/experiment/table/{experimentTableId}/query:
    post:
      operationId: GetExperimentTableById
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_ExperimentTable.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentTableId
        required: true
        schema:
          type: string
  /v1/experiment/table/{experimentTableId}/metadata/query:
    post:
      operationId: GetExperimentTableMetadata
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_ExperimentTableSimplified.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentTableId
        required: true
        schema:
          type: string
  /v1/experiment/tables/query:
    post:
      operationId: GetExperimentTables
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_ExperimentTableSimplified-Array.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters: []
  /v1/experiment/table/{experimentTableId}/cell:
    post:
      operationId: CreateExperimentCell
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentTableId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                value:
                  type:
                  - string
                  - 'null'
                rowIndex:
                  type: number
                  format: double
                columnId:
                  type: string
              required:
              - value
              - rowIndex
              - columnId
              type: object
    patch:
      operationId: UpdateExperimentCell
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentTableId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                updateInputs:
                  type: boolean
                metadata:
                  type: string
                value:
                  type: string
                status:
                  type: string
                cellId:
                  type: string
              required:
              - cellId
              type: object
  /v1/experiment/table/{experimentTableId}/column:
    post:
      operationId: CreateExperimentColumn
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentTableId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                inputKeys:
                  items:
                    type: string
                  type: array
                promptVersionId:
                  type: string
                hypothesisId:
                  type: string
                columnType:
                  type: string
                columnName:
                  type: string
              required:
              - columnType
              - columnName
              type: object
  /v1/experiment/table/{experimentTableId}/row/new:
    post:
      operationId: CreateExperimentTableRow
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentTableId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                inputs:
                  $ref: '#/components/schemas/Record_string.string_'
                sourceRequest:
                  type: string
                promptVersionId:
                  type: string
              required:
              - promptVersionId
              type: object
  /v1/experiment/table/{experimentTableId}/row/{rowIndex}:
    delete:
      operationId: DeleteExperimentTableRow
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentTableId
        required: true
        schema:
          type: string
      - in: path
        name: rowIndex
        required: true
        schema:
          format: double
          type: number
  /v1/experiment/table/{experimentTableId}/row/insert/batch:
    post:
      operationId: CreateExperimentTableRowWithCellsBatch
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentTableId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                rows:
                  items:
                    properties:
                      sourceRequest:
                        type: string
                      cells:
                        items:
                          properties:
                            metadata: {}
                            value:
                              type:
                              - string
                              - 'null'
                            columnId:
                              type: string
                          required:
                          - value
                          - columnId
                          type: object
                        type: array
                      datasetId:
                        type: string
                      inputs:
                        $ref: '#/components/schemas/Record_string.string_'
                      inputRecordId:
                        type: string
                    required:
                    - cells
                    - datasetId
                    - inputs
                    - inputRecordId
                    type: object
                  type: array
              required:
              - rows
              type: object
  /v1/experiment/update-meta:
    post:
      operationId: UpdateExperimentMeta
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/ResultError_string_'
                - $ref: '#/components/schemas/ResultSuccess_unknown_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                meta:
                  $ref: '#/components/schemas/Record_string.string_'
                experimentId:
                  type: string
              required:
              - meta
              - experimentId
              type: object
  /v1/experiment:
    post:
      operationId: CreateNewExperimentOld
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result__experimentId-string_.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewExperimentParams'
  /v1/experiment/hypothesis:
    post:
      operationId: CreateNewExperimentHypothesis
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result__hypothesisId-string_.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                status:
                  type: string
                  enum:
                  - PENDING
                  - RUNNING
                  - COMPLETED
                  - FAILED
                providerKeyId:
                  type: string
                promptVersion:
                  type: string
                model:
                  type: string
                experimentId:
                  type: string
              required:
              - status
              - providerKeyId
              - promptVersion
              - model
              - experimentId
              type: object
  /v1/experiment/hypothesis/{hypothesisId}/scores/query:
    post:
      operationId: GetExperimentHypothesisScores
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result__runsCount-number--scores-Record_string.Score__.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: hypothesisId
        required: true
        schema:
          type: string
  /v1/experiment/{experimentId}/evaluators:
    get:
      operationId: GetExperimentEvaluators
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_EvaluatorResult-Array.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
    post:
      operationId: CreateExperimentEvaluatorOld
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                evaluatorId:
                  type: string
              required:
              - evaluatorId
              type: object
  /v1/experiment/{experimentId}/evaluators/run:
    post:
      operationId: RunExperimentEvaluatorsOld
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
  /v1/experiment/{experimentId}/evaluators/{evaluatorId}:
    delete:
      operationId: DeleteExperimentEvaluatorOld
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_null.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters:
      - in: path
        name: experimentId
        required: true
        schema:
          type: string
      - in: path
        name: evaluatorId
        required: true
        schema:
          type: string
  /v1/experiment/query:
    post:
      operationId: GetExperimentsOld
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_Experiment-Array.string_'
      tags:
      - Experiment
      security:
      - api_key: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                include:
                  $ref: '#/components/schemas/IncludeExperimentKeys'
                filter:
                  $ref: '#/components/schemas/ExperimentFilterNode'
              required:
              - filter
              type: object
components:
  schemas:
    ResultSuccess_ExperimentTable_:
      properties:
        data:
          $ref: '#/components/schemas/ExperimentTable'
        error:
          type:
          - number
          - 'null'
          enum:
          - null
      required:
      - data
      - error
      type: object
      additionalProperties: false
    Result_Experiment-Array.string_:
      anyOf:
      - $ref: '#/components/schemas/ResultSuccess_Experiment-Array_'
      - $ref: '#/components/schemas/ResultError_string_'
    Record_string.string_:
      properties: {}
      additionalProperties:
        type: string
      type: object
      description: Construct a type with a set of properties K of type T
    ResultSuccess_Experiment-Array_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/Experiment'
          type: array
        error:
          type:
          - number
          - 'null'
          enum:
          - null
      required:
      - data
      - error
      type: object
      additionalProperties: false
    Result_ScoreV2-or-null.string_:
      anyOf:
      - $ref: '#/components/schemas/ResultSuccess_ScoreV2-or-null_'
      - $ref: '#/components/schemas/ResultError_string_'
    Result_ExperimentTable.string_:
      anyOf:
      - $ref: '#/components/schemas/ResultSuccess_ExperimentTable_'
      - $ref: '#/components/schemas/ResultError_string_'
    Result_PromptVersionResult.string_:
      anyOf:
      - $ref: '#/components/schemas/ResultSuccess_PromptVersionResult_'
      - $ref: '#/components/schemas/ResultError_string_'
    RequestObj:
      properties:
        id:
          type: string
        provider:
          type: string
      required:
      - id
      - provider
      type: object
      ad

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/helicone/refs/heads/main/openapi/helicone-experiment-api-openapi.yml