# \AiEvalsApi
All URIs are relative to */api*
[**collect_experiment**](AiEvalsApi.md#collect_experiment) | **POST** /w/{workspace}/ai_evals/experiments/collect | record what a run produced, so it outlives the jobs that produced it
[**create_eval_dataset**](AiEvalsApi.md#create_eval_dataset) | **POST** /w/{workspace}/ai_evals/datasets/create | create an eval dataset
[**delete_eval_dataset**](AiEvalsApi.md#delete_eval_dataset) | **POST** /w/{workspace}/ai_evals/datasets/delete/{path} | delete an eval dataset and all its cases
[**eval_run_payload**](AiEvalsApi.md#eval_run_payload) | **GET** /w/{workspace}/ai_evals/run_payload | the run one iteration of an eval run answered, as its scorers read it
[**eval_subject_state**](AiEvalsApi.md#eval_subject_state) | **GET** /w/{workspace}/ai_evals/subject_state | what the agent under test is right now
[**experiment_results**](AiEvalsApi.md#experiment_results) | **GET** /w/{workspace}/ai_evals/experiments/results/{path} | read an experiment's results, one row per case
[**get_eval_dataset**](AiEvalsApi.md#get_eval_dataset) | **GET** /w/{workspace}/ai_evals/datasets/get/{path} | get an eval dataset
[**list_all_experiments**](AiEvalsApi.md#list_all_experiments) | **GET** /w/{workspace}/ai_evals/experiments/list_all | list every experiment, across datasets
[**list_eval_cases**](AiEvalsApi.md#list_eval_cases) | **GET** /w/{workspace}/ai_evals/cases/list/{path} | list the cases of an eval dataset
[**list_eval_datasets**](AiEvalsApi.md#list_eval_datasets) | **GET** /w/{workspace}/ai_evals/datasets/list | list eval datasets
[**recent_scorers**](AiEvalsApi.md#recent_scorers) | **GET** /w/{workspace}/ai_evals/scorers/recent | list the scorers already in use in this workspace, most recent first
[**run_experiment**](AiEvalsApi.md#run_experiment) | **POST** /w/{workspace}/ai_evals/experiments/run | run every case of a dataset as one immutable experiment
[**scorer_defaults**](AiEvalsApi.md#scorer_defaults) | **GET** /w/{workspace}/ai_evals/scorer_defaults | what a new judge agent and a new script scorer are created from
[**update_eval_dataset**](AiEvalsApi.md#update_eval_dataset) | **POST** /w/{workspace}/ai_evals/datasets/update/{path} | update an eval dataset
## collect_experiment
> i32 collect_experiment(workspace, id)
record what a run produced, so it outlives the jobs that produced it
Called by a run's own flow as its last step. The answers and scores a run produced live in its jobs, which have their own retention; this copies them onto the run's rows. Reading a run does the same, so this is what covers a run nobody opened.
### Parameters
**workspace** | **String** | | [required] |
**id** | **uuid::Uuid** | | [required] |
### Return type
**i32**
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## create_eval_dataset
> String create_eval_dataset(workspace, create_eval_dataset_request)
create an eval dataset
### Parameters
**workspace** | **String** | | [required] |
**create_eval_dataset_request** | [**CreateEvalDatasetRequest**](CreateEvalDatasetRequest.md) | new eval dataset | [required] |
### Return type
**String**
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: text/plain
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## delete_eval_dataset
> String delete_eval_dataset(workspace, path)
delete an eval dataset and all its cases
The cases, the runs and their recorded case sets go with it through the foreign keys; the jobs those runs produced are left alone.
### Parameters
**workspace** | **String** | | [required] |
**path** | **String** | | [required] |
### Return type
**String**
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: text/plain
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## eval_run_payload
> models::EvalRunPayload200Response eval_run_payload(workspace, job_id)
the run one iteration of an eval run answered, as its scorers read it
Called by the step a run's flow places between the agent and its scorers. Every tool call is enriched with the arguments, result, status and duration of the job that ran it, and with the schema of the script version it ran, none of which the flow itself can read.
### Parameters
**workspace** | **String** | | [required] |
**job_id** | **uuid::Uuid** | The flow job that answered the case. | [required] |
### Return type
[**models::EvalRunPayload200Response**](evalRunPayload_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## eval_subject_state
> models::EvalSubjectState200Response eval_subject_state(workspace, path)
what the agent under test is right now
The version it is deployed at. Small on purpose: the results endpoint reports the same thing but harvests scores and reads every job to do it, so it is not something to ask for on its own.
### Parameters
**workspace** | **String** | | [required] |
**path** | **String** | | [required] |
### Return type
[**models::EvalSubjectState200Response**](evalSubjectState_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## experiment_results
> models::ExperimentResults200Response experiment_results(workspace, path, id, baseline)
read an experiment's results, one row per case
### Parameters
**workspace** | **String** | | [required] |
**path** | **String** | | [required] |
**id** | **uuid::Uuid** | the experiment to read | [required] |
**baseline** | Option<**uuid::Uuid**> | The experiment every column is compared against. A delta is only computed between two scores of the same scorer id, and a column the baseline was never scored with reports it rather than showing a difference. | |
### Return type
[**models::ExperimentResults200Response**](experimentResults_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_eval_dataset
> models::EvalDataset get_eval_dataset(workspace, path)
get an eval dataset
### Parameters
**workspace** | **String** | | [required] |
**path** | **String** | | [required] |
### Return type
[**models::EvalDataset**](EvalDataset.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## list_all_experiments
> Vec<models::EvalExperiment> list_all_experiments(workspace, subject_path)
list every experiment, across datasets
### Parameters
**workspace** | **String** | | [required] |
**subject_path** | Option<**String**> | Restrict to one agent's runs, which is what makes the list a history rather than a log. Runs of what is deployed, of a past version, and of the edits waiting on top are all that agent's, so this does not discriminate by kind. | |
### Return type
[**Vec<models::EvalExperiment>**](EvalExperiment.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## list_eval_cases
> models::ListEvalCases200Response list_eval_cases(workspace, path, page, per_page)
list the cases of an eval dataset
### Parameters
**workspace** | **String** | | [required] |
**path** | **String** | | [required] |
**page** | Option<**i32**> | which page to return (start at 1, default 1) | |
**per_page** | Option<**i32**> | number of items to return for a given page (default 30, max 100) | |
### Return type
[**models::ListEvalCases200Response**](listEvalCases_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## list_eval_datasets
> Vec<models::EvalDataset> list_eval_datasets(workspace)
list eval datasets
### Parameters
**workspace** | **String** | | [required] |
### Return type
[**Vec<models::EvalDataset>**](EvalDataset.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## recent_scorers
> Vec<models::RecentScorers200ResponseInner> recent_scorers(workspace, kind)
list the scorers already in use in this workspace, most recent first
Filtered twice, both times by what the caller can read: the datasets they come from, and the runnables themselves. A scorer they could not run does not appear.
### Parameters
**workspace** | **String** | | [required] |
**kind** | Option<**String**> | only scorers of this kind | |
### Return type
[**Vec<models::RecentScorers200ResponseInner>**](recentScorers_200_response_inner.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## run_experiment
> String run_experiment(workspace, run_experiment_request)
run every case of a dataset as one immutable experiment
### Parameters
**workspace** | **String** | | [required] |
**run_experiment_request** | [**RunExperimentRequest**](RunExperimentRequest.md) | what to run | [required] |
### Return type
**String**
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: text/plain
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## scorer_defaults
> models::ScorerDefaults200Response scorer_defaults(workspace)
what a new judge agent and a new script scorer are created from
### Parameters
**workspace** | **String** | | [required] |
### Return type
[**models::ScorerDefaults200Response**](scorerDefaults_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## update_eval_dataset
> String update_eval_dataset(workspace, path, update_eval_dataset_request)
update an eval dataset
### Parameters
**workspace** | **String** | | [required] |
**path** | **String** | | [required] |
**update_eval_dataset_request** | [**UpdateEvalDatasetRequest**](UpdateEvalDatasetRequest.md) | updated eval dataset | [required] |
### Return type
**String**
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: text/plain
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)