ArthurAI Prompt Experiments API

Endpoints for managing prompt experiments

Business capability
Artificial Intelligence Management BC-610.60

Operations 7

GET /api/v1/tasks/{task_id}/prompt_experiments List prompt experiments #
POST /api/v1/tasks/{task_id}/prompt_experiments Create and run a prompt experiment #
GET /api/v1/prompt_experiments/{experiment_id} Get prompt experiment details #
DELETE /api/v1/prompt_experiments/{experiment_id} Delete prompt experiment #
GET /api/v1/prompt_experiments/{experiment_id}/test_cases Get experiment test cases #
GET /api/v1/prompt_experiments/{experiment_id}/prompts/{prompt_key}/results Get prompt results #
PATCH /api/v1/prompt_experiments/{experiment_id}/notebook Attach notebook to experiment #

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/arthurai-prompt-experiments-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 email required.

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

OpenAPI Specification

arthurai-prompt-experiments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Arthur GenAI Engine Agent Discovery Prompt Experiments API
  version: 2.1.688
  description: Endpoints for managing prompt experiments
servers:
- url: https://platform.arthur.ai/api
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Prompt Experiments
  description: Endpoints for managing prompt experiments
paths:
  /api/v1/tasks/{task_id}/prompt_experiments:
    get:
      tags:
      - Prompt Experiments
      summary: List prompt experiments
      description: List all prompt experiments for a task with optional filtering and pagination
      operationId: list_prompt_experiments_api_v1_tasks__task_id__prompt_experiments_get
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Search text to filter experiments by name, description, prompt name, or dataset name
          title: Search
        description: Search text to filter experiments by name, description, prompt name, or dataset name
      - name: dataset_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          description: Filter experiments by dataset ID
          title: Dataset Id
        description: Filter experiments by dataset ID
      - name: sort
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/PaginationSortMethod'
          description: Sort the results (asc/desc)
          default: desc
        description: Sort the results (asc/desc)
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          description: Page size. Default is 10. Must be greater than 0 and less than 5000.
          default: 10
          title: Page Size
        description: Page size. Default is 10. Must be greater than 0 and less than 5000.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          description: Page number
          default: 0
          title: Page
        description: Page number
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PromptExperimentListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Prompt Experiments
      summary: Create and run a prompt experiment
      description: Create a new prompt experiment and initiate execution
      operationId: create_prompt_experiment_api_v1_tasks__task_id__prompt_experiments_post
      security:
      - API Key: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Task Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePromptExperimentRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PromptExperimentSummary'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/prompt_experiments/{experiment_id}:
    get:
      tags:
      - Prompt Experiments
      summary: Get prompt experiment details
      description: Get detailed information about a specific prompt experiment including summary results
      operationId: get_prompt_experiment_api_v1_prompt_experiments__experiment_id__get
      security:
      - API Key: []
      parameters:
      - name: experiment_id
        in: path
        required: true
        schema:
          type: string
          title: Experiment ID
          description: The ID of the experiment to retrieve
        description: The ID of the experiment to retrieve
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PromptExperimentDetail'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Prompt Experiments
      summary: Delete prompt experiment
      description: Delete a prompt experiment and all its associated data
      operationId: delete_prompt_experiment_api_v1_prompt_experiments__experiment_id__delete
      security:
      - API Key: []
      parameters:
      - name: experiment_id
        in: path
        required: true
        schema:
          type: string
          title: Experiment ID
          description: The ID of the experiment to delete
        description: The ID of the experiment to delete
      responses:
        '204':
          description: Experiment deleted successfully.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/prompt_experiments/{experiment_id}/test_cases:
    get:
      tags:
      - Prompt Experiments
      summary: Get experiment test cases
      description: Get paginated list of test case results for a prompt experiment
      operationId: get_experiment_test_cases_api_v1_prompt_experiments__experiment_id__test_cases_get
      security:
      - API Key: []
      parameters:
      - name: experiment_id
        in: path
        required: true
        schema:
          type: string
          title: Experiment ID
          description: The ID of the experiment
        description: The ID of the experiment
      - name: sort
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/PaginationSortMethod'
          description: Sort the results (asc/desc)
          default: desc
        description: Sort the results (asc/desc)
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          description: Page size. Default is 10. Must be greater than 0 and less than 5000.
          default: 10
          title: Page Size
        description: Page size. Default is 10. Must be greater than 0 and less than 5000.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          description: Page number
          default: 0
          title: Page
        description: Page number
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCaseListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/prompt_experiments/{experiment_id}/prompts/{prompt_key}/results:
    get:
      tags:
      - Prompt Experiments
      summary: Get prompt results
      description: Get paginated list of results for a specific prompt within an experiment (supports both saved and unsaved prompts)
      operationId: get_prompt_version_results_api_v1_prompt_experiments__experiment_id__prompts__prompt_key__results_get
      security:
      - API Key: []
      parameters:
      - name: experiment_id
        in: path
        required: true
        schema:
          type: string
          title: Experiment ID
          description: The ID of the experiment
        description: The ID of the experiment
      - name: prompt_key
        in: path
        required: true
        schema:
          type: string
          title: Prompt Key
          description: 'The prompt key (format: ''saved:name:version'' or ''unsaved:auto_name''). URL-encode colons as %3A'
        description: 'The prompt key (format: ''saved:name:version'' or ''unsaved:auto_name''). URL-encode colons as %3A'
      - name: sort
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/PaginationSortMethod'
          description: Sort the results (asc/desc)
          default: desc
        description: Sort the results (asc/desc)
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          description: Page size. Default is 10. Must be greater than 0 and less than 5000.
          default: 10
          title: Page Size
        description: Page size. Default is 10. Must be greater than 0 and less than 5000.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          description: Page number
          default: 0
          title: Page
        description: Page number
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PromptVersionResultListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/prompt_experiments/{experiment_id}/notebook:
    patch:
      tags:
      - Prompt Experiments
      summary: Attach notebook to experiment
      description: Attach a notebook to an existing experiment
      operationId: attach_notebook_to_experiment_api_v1_prompt_experiments__experiment_id__notebook_patch
      security:
      - API Key: []
      parameters:
      - name: experiment_id
        in: path
        required: true
        schema:
          type: string
          description: ID of the experiment
          title: Experiment Id
        description: ID of the experiment
      - name: notebook_id
        in: query
        required: true
        schema:
          type: string
          description: ID of the notebook to attach
          title: Notebook Id
        description: ID of the notebook to attach
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PromptExperimentSummary'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    EvalExecution:
      properties:
        eval_name:
          type: string
          title: Eval Name
          description: Name of the evaluation
        eval_version:
          type: string
          title: Eval Version
          description: Version of the evaluation
        eval_input_variables:
          items:
            $ref: '#/components/schemas/InputVariable'
          type: array
          title: Eval Input Variables
          description: Input variables used for the eval
        eval_results:
          anyOf:
          - $ref: '#/components/schemas/EvalExecutionResult'
          - type: 'null'
          description: Results from the eval (None if not yet executed)
      type: object
      required:
      - eval_name
      - eval_version
      - eval_input_variables
      title: EvalExecution
      description: Details of an eval execution
    ExperimentOutputSource:
      properties:
        json_path:
          anyOf:
          - type: string
          - type: 'null'
          title: Json Path
          description: Optional JSON path to extract from experiment output. Should use dot notation for array indexing (eg. response.objects.0.properties.category)
      type: object
      title: ExperimentOutputSource
      description: Reference to experiment output
    DatasetRefInput:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: Dataset ID
        version:
          type: integer
          title: Version
          description: Dataset version number
      type: object
      required:
      - id
      - version
      title: DatasetRefInput
      description: Reference to a dataset and version for input (without name)
    PromptOutput:
      properties:
        content:
          type: string
          title: Content
          description: Content of the prompt response
        tool_calls:
          items:
            $ref: '#/components/schemas/ChatCompletionMessageToolCall'
          type: array
          title: Tool Calls
          description: Tool calls made by the prompt
        cost:
          type: string
          title: Cost
          description: Cost of the prompt execution
      type: object
      required:
      - content
      - cost
      title: PromptOutput
      description: Output from a prompt execution
    SavedPromptConfig:
      properties:
        type:
          type: string
          const: saved
          title: Type
          default: saved
        name:
          type: string
          title: Name
          description: Name of the saved prompt
        version:
          type: integer
          title: Version
          description: Version of the saved prompt
      type: object
      required:
      - name
      - version
      title: SavedPromptConfig
      description: Configuration for a saved prompt
    CreatePromptExperimentRequest:
      properties:
        name:
          type: string
          title: Name
          description: Name for the experiment
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Description of the experiment
        dataset_ref:
          $ref: '#/components/schemas/DatasetRefInput'
          description: Reference to the dataset to use
        eval_list:
          items:
            $ref: '#/components/schemas/EvalRef-Input'
          type: array
          title: Eval List
          description: List of evaluations to run
        dataset_row_filter:
          anyOf:
          - items:
              $ref: '#/components/schemas/NewDatasetVersionRowColumnItemRequest'
            type: array
          - type: 'null'
          title: Dataset Row Filter
          description: Optional list of column name and value filters. Only rows matching ALL specified column name-value pairs (AND condition) will be included in the experiment. If not specified, all rows from the dataset will be used.
        prompt_configs:
          items:
            oneOf:
            - $ref: '#/components/schemas/SavedPromptConfig'
            - $ref: '#/components/schemas/UnsavedPromptConfig'
            discriminator:
              propertyName: type
              mapping:
                saved: '#/components/schemas/SavedPromptConfig'
                unsaved: '#/components/schemas/UnsavedPromptConfig'
          type: array
          title: Prompt Configs
          description: List of prompt configurations (saved or unsaved)
        prompt_variable_mapping:
          items:
            $ref: '#/components/schemas/PromptVariableMapping-Input'
          type: array
          title: Prompt Variable Mapping
          description: Shared variable mapping for all prompts
      type: object
      required:
      - name
      - dataset_ref
      - eval_list
      - prompt_configs
      - prompt_variable_mapping
      title: CreatePromptExperimentRequest
      description: Request to create a new prompt experiment
    NewDatasetVersionRowColumnItemRequest:
      properties:
        column_name:
          type: string
          title: Column Name
          description: Name of column.
        column_value:
          type: string
          title: Column Value
          description: Value of column for the row.
      type: object
      required:
      - column_name
      - column_value
      title: NewDatasetVersionRowColumnItemRequest
      description: Represents a single column-value pair in a dataset row.
    PromptExperimentSummary:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the experiment
        name:
          type: string
          title: Name
          description: Name of the experiment
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Description of the experiment
        created_at:
          type: string
          title: Created At
          description: ISO timestamp when experiment was created
        finished_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Finished At
          description: ISO timestamp when experiment finished
        status:
          $ref: '#/components/schemas/ExperimentStatus'
          description: Current status of the experiment
        dataset_id:
          type: string
          format: uuid
          title: Dataset Id
          description: ID of the dataset used
        dataset_name:
          type: string
          title: Dataset Name
          description: Name of the dataset used
        dataset_version:
          type: integer
          title: Dataset Version
          description: Version of the dataset used
        total_rows:
          type: integer
          title: Total Rows
          description: Total number of test rows in the experiment
        completed_rows:
          type: integer
          title: Completed Rows
          description: Number of test rows completed successfully
        failed_rows:
          type: integer
          title: Failed Rows
          description: Number of test rows that failed
        total_cost:
          anyOf:
          - type: string
          - type: 'null'
          title: Total Cost
          description: Total cost of running the experiment
        prompt_configs:
          items:
            oneOf:
            - $ref: '#/components/schemas/SavedPromptConfig'
            - $ref: '#/components/schemas/UnsavedPromptConfig'
            discriminator:
              propertyName: type
              mapping:
                saved: '#/components/schemas/SavedPromptConfig'
                unsaved: '#/components/schemas/UnsavedPromptConfig'
          type: array
          title: Prompt Configs
          description: List of prompts being tested
      type: object
      required:
      - id
      - name
      - created_at
      - status
      - dataset_id
      - dataset_name
      - dataset_version
      - total_rows
      - completed_rows
      - failed_rows
      - prompt_configs
      title: PromptExperimentSummary
      description: Summary of a prompt experiment
    DatasetColumnSource:
      properties:
        name:
          type: string
          title: Name
          description: Name of the dataset column
      type: object
      required:
      - name
      title: DatasetColumnSource
      description: Reference to a dataset column
    ModelProvider:
      type: string
      enum:
      - anthropic
      - openai
      - gemini
      - bedrock
      - vertex_ai
      - hosted_vllm
      - azure
      title: ModelProvider
    PromptEvalResultSummaries:
      properties:
        prompt_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt Key
          description: 'Prompt key: ''saved:name:version'' or ''unsaved:auto_name'''
        prompt_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt Type
          description: 'Type: ''saved'' or ''unsaved'''
        prompt_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt Name
          description: Name of the prompt (for saved prompts, or auto_name for unsaved)
        prompt_version:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt Version
          description: Version of the prompt (for saved prompts only)
        eval_results:
          items:
            $ref: '#/components/schemas/EvalResultSummary'
          type: array
          title: Eval Results
          description: Results for each evaluation run on this prompt version
      type: object
      required:
      - eval_results
      title: PromptEvalResultSummaries
      description: Summary of evaluation results for a prompt version
    EvalRef-Output:
      properties:
        name:
          type: string
          title: Name
          description: Name of the evaluation
        version:
          type: integer
          title: Version
          description: Version of the evaluation
        variable_mapping:
          items:
            $ref: '#/components/schemas/EvalVariableMapping-Output'
          type: array
          title: Variable Mapping
          description: Mapping of eval variables to data sources
      type: object
      required:
      - name
      - version
      - variable_mapping
      title: EvalRef
      description: Reference to an evaluation configuration
    ExperimentOutputVariableSource:
      properties:
        type:
          type: string
          const: experiment_output
          title: Type
          description: 'Type of source: ''experiment_output'''
        experiment_output:
          $ref: '#/components/schemas/ExperimentOutputSource'
          description: Experiment output source
      type: object
      required:
      - type
      - experiment_output
      title: ExperimentOutputVariableSource
      description: Variable source from experiment output
    PaginationSortMethod:
      type: string
      enum:
      - asc
      - desc
      title: PaginationSortMethod
    PromptExperimentDetail:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the experiment
        name:
          type: string
          title: Name
          description: Name of the experiment
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Description of the experiment
        created_at:
          type: string
          title: Created At
          description: ISO timestamp when experiment was created
        finished_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Finished At
          description: ISO timestamp when experiment finished
        status:
          $ref: '#/components/schemas/ExperimentStatus'
          description: Current status of the experiment
        total_rows:
          type: integer
          title: Total Rows
          description: Total number of test rows in the experiment
        completed_rows:
          type: integer
          title: Completed Rows
          description: Number of test rows completed successfully
        failed_rows:
          type: integer
          title: Failed Rows
          description: Number of test rows that failed
        total_cost:
          anyOf:
          - type: string
          - type: 'null'
          title: Total Cost
          description: Total cost of running the experiment
        dataset_ref:
          $ref: '#/components/schemas/DatasetRef'
          description: Reference to the dataset used
        dataset_row_filter:
          anyOf:
          - items:
              $ref: '#/components/schemas/NewDatasetVersionRowColumnItemRequest'
            type: array
          - type: 'null'
          title: Dataset Row Filter
          description: Optional list of column name and value filters applied to dataset rows. Only rows matching ALL specified column name-value pairs (AND condition) were included in the experiment.
        notebook_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Notebook Id
          description: Optional notebook ID this experiment is linked to
        eval_list:
          items:
            $ref: '#/components/schemas/EvalRef-Output'
          type: array
          title: Eval List
          description: List of evaluations being run
        prompt_configs:
          items:
            oneOf:
            - $ref: '#/components/schemas/SavedPromptConfig'
            - $ref: '#/components/schemas/UnsavedPromptConfig'
            discriminator:
              propertyName: type
              mapping:
                saved: '#/components/schemas/SavedPromptConfig'
                unsaved: '#/components/schemas/UnsavedPromptConfig'
          type: array
          title: Prompt Configs
          description: List of prompts being tested
        prompt_variable_mapping:
          items:
            $ref: '#/components/schemas/PromptVariableMapping-Output'
          type: array
          title: Prompt Variable Mapping
          description: Shared variable mapping for all prompts
        summary_results:
          $ref: '#/components/schemas/SummaryResults'
          description: Summary of results across all test cases
      type: object
      required:
      - id
      - name
      - created_at
      - status
      - total_rows
      - completed_rows
      - failed_rows
      - dataset_ref
      - eval_list
      - prompt_configs
      - prompt_variable_mapping
      - summary_results
      title: PromptExperimentDetail
      description: Detailed information about a prompt experiment
    TestCase:
      properties:
        status:
          $ref: '#/components/schemas/TestCaseStatus'
          description: Status of the test case
        dataset_row_id:
          type: string
          title: Dataset Row Id
          description: ID of the dataset row
        total_cost:
          anyOf:
          - type: string
          - type: 'null'
          title: Total Cost
          description: Total cost for this test case
        prompt_input_variables:
          items:
            $ref: '#/components/schemas/InputVariable'
          type: array
          title: Prompt Input Variables
          description: Input variables for the prompt
        prompt_results:
          items:
            $ref: '#/components/schemas/PromptResult'
          type: array
          title: Prompt Results
          description: Results for each prompt version tested
      type: object
      required:
      - status
      - dataset_row_id
      - prompt_input_variables
      - prompt_results
      title: TestCase
      description: Individual test case result
    SummaryResults:
      properties:
        prompt_eval_summaries:
          items:
            $ref: '#/components/schemas/PromptEvalResultSummaries'
          type: array
          title: Prompt Eval Summaries
          description: Summary for each prompt version tested
      type: object
      required:
      - prompt_eval_summaries
      title: SummaryResults
      description: Summary results across all prompt versions and evaluations
    PromptVariableMapping-Input:
      properties:
        variable_name:
          type: string
          title: Variable Name
          description: Name of the prompt variable
        source:
          $ref: '#/components/schemas/DatasetColumnVariableSource'
          description: Dataset column source
      type: object
      required:
      - variable_name
      - source
      title: PromptVariableMapping
      description: Mapping of a prompt variable to a dataset column source
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    TestCaseStatus:
      type: string
      enum:
      - queued
      - running
      - evaluating
      - failed
      - completed
      title: TestCaseStatus
      description: Status of a test case
    ChatCompletionMessageToolCall:
      properties: {}
      additionalProperties: true
      type: object
      title: ChatCompletionMessageToolCall
    EvalResultSummary:
      properties:
        eval_name:
          type: string
          title: Eval Name
          description: Name of the evaluation
        eval_version:
          type: string
          title: Eval Version
          description: Version of the evaluation
        pass_count:
          type: integer
          title: Pass Count
          description: Number of test cases that passed
        total_count:
          type: integer
          title: Total Count
          description: Total number of test cases evaluated
      type: object
      required:
      - eval_name
      - eval_version
      - pass_count
      - total_count
      title: EvalResultSummary
      description: Results for a single eval
    InputVariable:
      properties:
        variable_name:
          type: string
          title: Variable Name
          description: Name of the variable
        value:
          type: string
          title: Value
          description: Value of the variable
      type: object
      required:
      - variable_name
      - value
      title: InputVariable
      description: Input variable for a test case
    DatasetColumnVariableSource:
      properties:
        type:
          type: string
          const: dataset_column
          title: Type
          description: 'Type of source: ''dataset_column'''
        dataset_column:
          $ref: '#/components/schemas/DatasetColumnSource'
          description: Dataset column source
      type: object
      required:
      - type
      - dataset_column
      title: DatasetColumnVariableSource
      description: Variable source from a dataset column
    EvalVariableMapping-Output:
      properties:
        variable_name:
          type: string
          title: Variable Name
          description: Name of the eval variable
        source:
          oneOf:
          - $ref: '#/components/schemas/DatasetColumnVariableSource'
          - $ref: '#/components/schemas/ExperimentOutputVariableSource'
          title: Source
          description: Source of the variable value
          discriminator:
            propertyName: type
            mapping:
              dataset_column: '#/components/schemas/DatasetColumnVariableSource'
              experiment_output: '#/components/schemas/ExperimentOutputVariableSource'
      type: object
      required:
      - variable_name
      - source
      title: EvalVariableMapping
      description: Mapping of an eval variable to its source (dataset column or experiment output)
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    EvalRef-Input:
      properties:
        name:
          type: string
          title: Name
          description: Name of the evaluation
        version:
          type: integer
          title: Version
          description: Version of the evaluation
        variable_mapping:
          items:
            $ref: '#/components/schemas/EvalVariableMapping-Input'
          type: array
          title: Variable Mapping
          description: Mapping of eval variables to data sources
      type: object
      required:
      - name
      - version
      - variable_mapping
      title: EvalRef
      description: Reference to an evaluation configuration
    EvalExecutionResult:
      properties:
        score:
          type: number
          title: Score
          description: Score from the evaluation
        explanation:
          type: string
          title: Explanation
          description: Explanation of the score
        cost:
          type: string
          title: Cost
          description: Cost of the evaluation
      type: object
      required:
      - score
      - explanation
      - cost
  

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/arthurai/refs/heads/main/openapi/arthurai-prompt-experiments-api-openapi.yml