ArthurAI RAG Experiments API
Endpoints for managing RAG experiments
Endpoints for managing RAG experiments
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/arthurai-rag-experiments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Arthur GenAI Engine Agent Discovery RAG Experiments API
version: 2.1.688
description: Endpoints for managing RAG experiments
servers:
- url: https://platform.arthur.ai/api
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: RAG Experiments
description: Endpoints for managing RAG experiments
paths:
/api/v1/tasks/{task_id}/rag_experiments:
get:
tags:
- RAG Experiments
summary: List RAG experiments
description: List all RAG experiments for a task with optional filtering and pagination
operationId: list_rag_experiments_api_v1_tasks__task_id__rag_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 or description
title: Search
description: Search text to filter experiments by name or description
- 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/RagExperimentListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- RAG Experiments
summary: Create and run a RAG experiment
description: Create a new RAG experiment and initiate execution
operationId: create_rag_experiment_api_v1_tasks__task_id__rag_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/CreateRagExperimentRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RagExperimentSummary'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/rag_experiments/{experiment_id}:
get:
tags:
- RAG Experiments
summary: Get RAG experiment details
description: Get detailed information about a specific RAG experiment including summary results
operationId: get_rag_experiment_api_v1_rag_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/RagExperimentDetail'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- RAG Experiments
summary: Delete RAG experiment
description: Delete a RAG experiment and all its associated data
operationId: delete_rag_experiment_api_v1_rag_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/rag_experiments/{experiment_id}/test_cases:
get:
tags:
- RAG Experiments
summary: Get experiment test cases
description: Get paginated list of test case results for a RAG experiment
operationId: get_rag_experiment_test_cases_api_v1_rag_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/RagTestCaseListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/rag_experiments/{experiment_id}/rag_configs/{rag_config_key}/results:
get:
tags:
- RAG Experiments
summary: Get RAG config results
description: Get paginated list of results for a specific RAG configuration within an experiment (supports both saved and unsaved configs)
operationId: get_rag_config_results_api_v1_rag_experiments__experiment_id__rag_configs__rag_config_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: rag_config_key
in: path
required: true
schema:
type: string
title: RAG Config Key
description: 'The RAG config key (format: ''saved:setting_config_id:version'' or ''unsaved:uuid''). URL-encode colons as %3A'
description: 'The RAG config key (format: ''saved:setting_config_id:version'' or ''unsaved:uuid''). 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/RagConfigResultListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/rag_experiments/{experiment_id}/notebook:
patch:
tags:
- RAG Experiments
summary: Attach notebook to RAG experiment
description: Attach a RAG notebook to an existing experiment
operationId: attach_notebook_to_rag_experiment_api_v1_rag_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/RagExperimentSummary'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
RagTestCase:
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
rag_results:
items:
$ref: '#/components/schemas/RagResult'
type: array
title: Rag Results
description: Results for each RAG configuration tested
type: object
required:
- status
- dataset_row_id
- rag_results
title: RagTestCase
description: Individual test case result for RAG experiment
RagEvalResultSummaries:
properties:
rag_config_key:
anyOf:
- type: string
- type: 'null'
title: Rag Config Key
description: 'RAG config key: ''saved:setting_config_id:version'' for saved, ''unsaved:uuid'' for unsaved'
rag_config_type:
anyOf:
- type: string
- type: 'null'
title: Rag Config Type
description: 'Type: ''saved'' or ''unsaved'''
setting_configuration_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Setting Configuration Id
description: ID of the RAG search setting configuration (for saved configs only)
setting_configuration_version:
anyOf:
- type: integer
- type: 'null'
title: Setting Configuration Version
description: Version of the RAG search setting configuration (for saved configs only)
eval_results:
items:
$ref: '#/components/schemas/EvalResultSummary'
type: array
title: Eval Results
description: Results for each evaluation run on this RAG configuration
type: object
required:
- eval_results
title: RagEvalResultSummaries
description: Summary of evaluation results for a RAG configuration
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)
RagExperimentSummary:
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
rag_configs:
items:
oneOf:
- $ref: '#/components/schemas/SavedRagConfig-Output'
- $ref: '#/components/schemas/UnsavedRagConfigResponse'
discriminator:
propertyName: type
mapping:
saved: '#/components/schemas/SavedRagConfig-Output'
unsaved: '#/components/schemas/UnsavedRagConfigResponse'
type: array
title: Rag Configs
description: List of RAG configurations being tested
type: object
required:
- id
- name
- created_at
- status
- dataset_id
- dataset_name
- dataset_version
- total_rows
- completed_rows
- failed_rows
- rag_configs
title: RagExperimentSummary
description: Summary of a RAG experiment
RagConfigResult:
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
evals:
items:
$ref: '#/components/schemas/EvalExecution'
type: array
title: Evals
description: Evaluation results for this specific config
total_cost:
anyOf:
- type: string
- type: 'null'
title: Total Cost
description: Total cost for this config test case execution
query_text:
type: string
title: Query Text
description: Query text used for the search
output:
anyOf:
- $ref: '#/components/schemas/RagSearchOutput'
- type: 'null'
description: Output from the RAG search (None if not yet executed)
type: object
required:
- status
- dataset_row_id
- evals
- query_text
title: RagConfigResult
description: Result for a specific RAG configuration within a test case
RagExperimentDetail:
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
rag_configs:
items:
oneOf:
- $ref: '#/components/schemas/SavedRagConfig-Output'
- $ref: '#/components/schemas/UnsavedRagConfigResponse'
discriminator:
propertyName: type
mapping:
saved: '#/components/schemas/SavedRagConfig-Output'
unsaved: '#/components/schemas/UnsavedRagConfigResponse'
type: array
title: Rag Configs
description: List of RAG configurations being tested
summary_results:
$ref: '#/components/schemas/RagSummaryResults'
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
- rag_configs
- summary_results
title: RagExperimentDetail
description: Detailed information about a RAG experiment
CreateRagExperimentRequest:
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.
rag_configs:
items:
oneOf:
- $ref: '#/components/schemas/SavedRagConfig-Input'
- $ref: '#/components/schemas/UnsavedRagConfig'
discriminator:
propertyName: type
mapping:
saved: '#/components/schemas/SavedRagConfig-Input'
unsaved: '#/components/schemas/UnsavedRagConfig'
type: array
title: Rag Configs
description: List of RAG configurations to test. Each config specifies which dataset column to use as the query.
type: object
required:
- name
- dataset_ref
- eval_list
- rag_configs
title: CreateRagExperimentRequest
description: Request to create a new RAG experiment
MetadataQuery:
properties:
creation_time:
type: boolean
title: Creation Time
default: false
last_update_time:
type: boolean
title: Last Update Time
default: false
distance:
type: boolean
title: Distance
default: false
certainty:
type: boolean
title: Certainty
default: false
score:
type: boolean
title: Score
default: false
explain_score:
type: boolean
title: Explain Score
default: false
is_consistent:
type: boolean
title: Is Consistent
default: false
query_profile:
type: boolean
title: Query Profile
default: false
additionalProperties: false
type: object
title: MetadataQuery
description: Define which metadata should be returned in the query's results.
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.
RagSearchOutput:
properties:
response:
$ref: '#/components/schemas/RagProviderQueryResponse'
description: RAG search response
type: object
required:
- response
title: RagSearchOutput
description: Output from a RAG search execution
WeaviateQueryResultMetadata:
properties:
creation_time:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Creation Time
description: Vector object creation time.
last_update_time:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Last Update Time
description: Vector object last update time.
distance:
anyOf:
- type: number
- type: 'null'
title: Distance
description: Raw distance metric used in the vector search. Lower values indicate closer vectors.
certainty:
anyOf:
- type: number
- type: 'null'
title: Certainty
description: Similarity score measure between 0 and 1. Higher values correspond to more similar reesults.
score:
anyOf:
- type: number
- type: 'null'
title: Score
description: Normalized relevance metric that ranks search results.
explain_score:
anyOf:
- type: string
- type: 'null'
title: Explain Score
description: Explanation of how the score was calculated.
is_consistent:
anyOf:
- type: boolean
- type: 'null'
title: Is Consistent
description: Indicates if the object is consistent across all replicates in a multi-node Weaviate cluster.
type: object
title: WeaviateQueryResultMetadata
description: 'Metadata from weaviate for a vector object:
https://weaviate-python-client.readthedocs.io/en/latest/weaviate.collections.classes.html#module-weaviate.collections.classes.internal'
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
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
PaginationSortMethod:
type: string
enum:
- asc
- desc
title: PaginationSortMethod
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
RagResult:
properties:
evals:
items:
$ref: '#/components/schemas/EvalExecution'
type: array
title: Evals
description: Evaluation results for this execution
rag_config_key:
type: string
title: Rag Config Key
description: 'RAG config key: ''saved:setting_config_id:version'' for saved, ''unsaved:uuid'' for unsaved'
rag_config_type:
type: string
title: Rag Config Type
description: 'Type: ''saved'' or ''unsaved'''
setting_configuration_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Setting Configuration Id
description: ID of the RAG search setting configuration (for saved configs only)
setting_configuration_version:
anyOf:
- type: integer
- type: 'null'
title: Setting Configuration Version
description: Version of the RAG search setting configuration (for saved configs only)
query_text:
type: string
title: Query Text
description: Query text used for the search
output:
anyOf:
- $ref: '#/components/schemas/RagSearchOutput'
- type: 'null'
description: Output from the RAG search (None if not yet executed)
type: object
required:
- evals
- rag_config_key
- rag_config_type
- query_text
title: RagResult
description: Results from a RAG search execution with evals
RagExperimentListResponse:
properties:
page:
type: integer
title: Page
description: Current page number (0-indexed)
page_size:
type: integer
title: Page Size
description: Number of items per page
total_pages:
type: integer
title: Total Pages
description: Total number of pages
total_count:
type: integer
title: Total Count
description: Total number of records
data:
items:
$ref: '#/components/schemas/RagExperimentSummary'
type: array
title: Data
description: List of RAG experiment summaries
type: object
required:
- page
- page_size
- total_pages
- total_count
- data
title: RagExperimentListResponse
description: Paginated list of RAG experiments
HybridFusion:
type: string
enum:
- FUSION_TYPE_RANKED
- FUSION_TYPE_RELATIVE_SCORE
title: HybridFusion
description: Define how the query's hybrid fusion operation should be performed.
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
SavedRagConfig-Input:
properties:
type:
type: string
const: saved
title: Type
default
# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/arthurai/refs/heads/main/openapi/arthurai-rag-experiments-api-openapi.yml