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

# Query Experiments

> Search and filter through experiment data

<Warning>
  <strong>For users in the European Union:</strong> Please use `eu.api.helicone.ai` instead of
  `api.helicone.ai`.
</Warning>


## OpenAPI

````yaml post /v1/experiment/query
openapi: 3.0.0
info:
  title: helicone-api
  version: 1.0.0
  license:
    name: MIT
  contact: {}
servers:
  - url: https://api.helicone.ai/
  - url: http://localhost:8585/
security: []
paths:
  /v1/experiment/query:
    post:
      tags:
        - Experiment
      operationId: GetExperimentsOld
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                include:
                  $ref: '#/components/schemas/IncludeExperimentKeys'
                filter:
                  $ref: '#/components/schemas/ExperimentFilterNode'
              required:
                - filter
              type: object
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result_Experiment-Array.string_'
      security:
        - api_key: []
components:
  schemas:
    IncludeExperimentKeys:
      properties:
        inputs:
          type: boolean
          enum:
            - true
          nullable: false
        promptVersion:
          type: boolean
          enum:
            - true
          nullable: false
        responseBodies:
          type: boolean
          enum:
            - true
          nullable: false
        score:
          type: boolean
          enum:
            - true
          nullable: false
      type: object
      additionalProperties: false
    ExperimentFilterNode:
      anyOf:
        - $ref: '#/components/schemas/FilterLeafSubset_experiment_'
        - $ref: '#/components/schemas/ExperimentFilterBranch'
        - type: string
          enum:
            - all
    Result_Experiment-Array.string_:
      anyOf:
        - $ref: '#/components/schemas/ResultSuccess_Experiment-Array_'
        - $ref: '#/components/schemas/ResultError_string_'
    FilterLeafSubset_experiment_:
      $ref: '#/components/schemas/Pick_FilterLeaf.experiment_'
    ExperimentFilterBranch:
      properties:
        right:
          $ref: '#/components/schemas/ExperimentFilterNode'
        operator:
          type: string
          enum:
            - or
            - and
        left:
          $ref: '#/components/schemas/ExperimentFilterNode'
      required:
        - right
        - operator
        - left
      type: object
    ResultSuccess_Experiment-Array_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/Experiment'
          type: array
        error:
          type: number
          enum:
            - null
          nullable: true
      required:
        - data
        - error
      type: object
      additionalProperties: false
    ResultError_string_:
      properties:
        data:
          type: number
          enum:
            - null
          nullable: true
        error:
          type: string
      required:
        - data
        - error
      type: object
      additionalProperties: false
    Pick_FilterLeaf.experiment_:
      properties:
        experiment:
          $ref: '#/components/schemas/Partial_ExperimentToOperators_'
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Experiment:
      properties:
        id:
          type: string
        organization:
          type: string
        dataset:
          properties:
            rows:
              items:
                $ref: '#/components/schemas/ExperimentDatasetRow'
              type: array
            name:
              type: string
            id:
              type: string
          required:
            - rows
            - name
            - id
          type: object
        meta: {}
        createdAt:
          type: string
        hypotheses:
          items:
            properties:
              runs:
                items:
                  properties:
                    request:
                      $ref: '#/components/schemas/RequestObj'
                    scores:
                      $ref: '#/components/schemas/Record_string.Score_'
                    response:
                      $ref: '#/components/schemas/ResponseObj'
                    resultRequestId:
                      type: string
                    datasetRowId:
                      type: string
                  required:
                    - scores
                    - resultRequestId
                    - datasetRowId
                  type: object
                type: array
              providerKey:
                type: string
              createdAt:
                type: string
              status:
                type: string
              model:
                type: string
              parentPromptVersion:
                properties:
                  template: {}
                required:
                  - template
                type: object
              promptVersion:
                properties:
                  template: {}
                required:
                  - template
                type: object
              promptVersionId:
                type: string
              id:
                type: string
            required:
              - runs
              - providerKey
              - createdAt
              - status
              - model
              - promptVersionId
              - id
            type: object
          type: array
        scores:
          allOf:
            - $ref: '#/components/schemas/ExperimentScores'
          nullable: true
        tableId:
          type: string
          nullable: true
      required:
        - id
        - organization
        - dataset
        - meta
        - createdAt
        - hypotheses
        - scores
        - tableId
      type: object
      additionalProperties: false
    Partial_ExperimentToOperators_:
      properties:
        id:
          $ref: '#/components/schemas/Partial_TextOperators_'
        prompt_v2:
          $ref: '#/components/schemas/Partial_TextOperators_'
      type: object
      description: Make all properties in T optional
    ExperimentDatasetRow:
      properties:
        rowId:
          type: string
        inputRecord:
          properties:
            request:
              $ref: '#/components/schemas/RequestObj'
            response:
              $ref: '#/components/schemas/ResponseObj'
            autoInputs:
              items:
                $ref: '#/components/schemas/Record_string.string_'
              type: array
            inputs:
              $ref: '#/components/schemas/Record_string.string_'
            requestPath:
              type: string
            requestId:
              type: string
            id:
              type: string
          required:
            - request
            - response
            - autoInputs
            - inputs
            - requestPath
            - requestId
            - id
          type: object
        rowIndex:
          type: number
          format: double
        columnId:
          type: string
        scores:
          $ref: '#/components/schemas/Record_string.Score_'
      required:
        - rowId
        - inputRecord
        - rowIndex
        - columnId
        - scores
      type: object
      additionalProperties: false
    RequestObj:
      properties:
        id:
          type: string
        provider:
          type: string
      required:
        - id
        - provider
      type: object
      additionalProperties: false
    Record_string.Score_:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/Score'
      type: object
      description: Construct a type with a set of properties K of type T
    ResponseObj:
      properties:
        body: {}
        createdAt:
          type: string
        completionTokens:
          type: number
          format: double
        promptTokens:
          type: number
          format: double
        promptCacheWriteTokens:
          type: number
          format: double
        promptCacheReadTokens:
          type: number
          format: double
        delayMs:
          type: number
          format: double
        model:
          type: string
      required:
        - body
        - createdAt
        - completionTokens
        - promptTokens
        - promptCacheWriteTokens
        - promptCacheReadTokens
        - delayMs
        - model
      type: object
      additionalProperties: false
    ExperimentScores:
      properties:
        dataset:
          properties:
            scores:
              $ref: '#/components/schemas/Record_string.Score_'
          required:
            - scores
          type: object
        hypothesis:
          properties:
            scores:
              $ref: '#/components/schemas/Record_string.Score_'
            runsCount:
              type: number
              format: double
          required:
            - scores
            - runsCount
          type: object
      required:
        - dataset
        - hypothesis
      type: object
      additionalProperties: false
    Partial_TextOperators_:
      properties:
        not-equals:
          type: string
        equals:
          type: string
        like:
          type: string
        ilike:
          type: string
        contains:
          type: string
        not-contains:
          type: string
      type: object
      description: Make all properties in T optional
    Record_string.string_:
      properties: {}
      additionalProperties:
        type: string
      type: object
      description: Construct a type with a set of properties K of type T
    Score:
      properties:
        valueType:
          type: string
        value:
          anyOf:
            - type: number
              format: double
            - type: string
              format: date-time
            - type: string
      required:
        - valueType
        - value
      type: object
      additionalProperties: false
  securitySchemes:
    api_key:
      type: apiKey
      name: Authorization
      in: header
      description: 'Bearer token authentication. Format: ''Bearer YOUR_API_KEY'''

````