---
title: "Upload Evaluation Results"
method: POST
path: "/felix/evaluations/upload"
tags: ["felix"]
---

# Upload Evaluation Results

`POST /felix/evaluations/upload`

Upload manually computed evaluation results so they appear in the UI.

## Request body

- UploadEvaluationRequest — Upload manually computed evaluation results to the platform.
  - `model_id` string, required — Model identifier used for the evaluation
  - `dataset_name` string, required — Pioneer dataset name the evaluation was run against
  - `dataset_version` string, nullable — Dataset version (latest if omitted)
  - `project_id` string, nullable — Optional project ID to associate the evaluation with
  - `model_name` string, nullable — Optional human-readable model name for the UI
  - `status` 'complete' | 'failed' | 'errored' — Final evaluation status. 'errored' is normalized to 'failed'.
  - `f1_score` number, nullable
  - `precision_score` number, nullable
  - `recall_score` number, nullable
  - `accuracy` number, nullable
  - `validation_loss` number, nullable
  - `subset_accuracy` number, nullable
  - `hamming_loss` number, nullable
  - `bleu_score` number, nullable
  - `rouge_l_score` number, nullable
  - `total_tokens` integer, nullable
  - `total_cost_usd` number, nullable
  - `total_latency_ms` integer, nullable
  - `max_examples` integer, nullable
  - `max_tokens` integer, nullable
  - `seed` integer, nullable
  - `config` object, nullable — Optional evaluation metadata stored in model_evaluations.config, for example threshold sweeps, schemas, judge criteria, or system prompts.
  - `error_message` string, nullable
  - `error_count` integer, nullable
  - `error_sample` string, nullable
  - `failed_examples` object[], nullable
  - `sample_count` integer, nullable
  - `evaluation_time_ms` integer, nullable
  - `completed_at` string, date-time, nullable
  - `predictions` object[], nullable
  - `result_rows` UploadEvaluationResultRow[], nullable
    - `example_index` integer, required
    - `input_text` string, required
    - `true_label` string, nullable
    - `predicted_label` string, nullable
    - `true_entities` unknown
    - `predicted_entities` unknown
    - `correct` boolean, required
    - `confidence` number, nullable
    - `latency_ms` integer, nullable

## Response `200`

Successful Response

- EvaluationResponse — Response for a single evaluation
  - `id` string, required
  - `user_id` string, required
  - `project_id` string, nullable
  - `model_id` string, required
  - `dataset_name` string, required
  - `dataset_version` string, required
  - `model_name` string, nullable
  - `f1_score` number, nullable
  - `precision_score` number, nullable
  - `recall_score` number, nullable
  - `accuracy` number, nullable
  - `validation_loss` number, nullable
  - `subset_accuracy` number, nullable
  - `hamming_loss` number, nullable
  - `bleu_score` number, nullable
  - `rouge_l_score` number, nullable
  - `total_tokens` integer, nullable
  - `total_cost_usd` number, nullable
  - `total_latency_ms` integer, nullable
  - `max_examples` integer, nullable
  - `max_tokens` integer, nullable
  - `seed` integer, nullable
  - `config` object, nullable
  - `status` string, required
  - `job_reference` string, nullable
  - `error_message` string, nullable
  - `error_count` integer, nullable
  - `error_sample` string, nullable
  - `sample_count` integer, nullable
  - `evaluation_time_ms` integer, nullable
  - `created_at` string, date-time, required
  - `completed_at` string, date-time, nullable
  - `failed_examples` object[], nullable
  - `predictions` object[], nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/pioneer/apis/brain-api.md) · [All operations](https://skmtc.net/pioneer/apis/brain-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pioneer/brain-api/versions/31dfe831e079/schema)
