# Import externally-executed eval results.

Source: <https://everruns.com/docs/api/operations/import_eval_run/>

POST

/v1/evals/import

Select code samplecURL (shell:curl)

```js
const url = 'https://app.everruns.com/api/v1/evals/import';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"evals":[{"cases":[{"description":"Agent fixes a failing unit test","error_message":"Session timed out","input":["Fix the failing test in src/lib.rs"],"input_tokens":1200,"latency_ms":8450,"metrics":"example","name":"fix-failing-test","output_tokens":850,"scores":[{"na":false,"pass":true,"reason":"Output contains expected text","scorer":"contains","value":1}],"status":"passed","target":{"model":"gpt-5.1","params":"example","provider":"openai"},"transcript":"example","turns":3}],"description":"Regression suite for the support agent","name":"Support agent regression","tags":["regression","nightly"]}],"source":{"metadata":"example","run_id":"run-2026-01-15-001","system":"mira","url":"https://ci.example.com/runs/42","version":"0.4.0"}}'
};


try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```sh
curl --request POST \
  --url https://app.everruns.com/api/v1/evals/import \
  --header 'Content-Type: application/json' \
  --data '{ "evals": [ { "cases": [ { "description": "Agent fixes a failing unit test", "error_message": "Session timed out", "input": [ "Fix the failing test in src/lib.rs" ], "input_tokens": 1200, "latency_ms": 8450, "metrics": "example", "name": "fix-failing-test", "output_tokens": 850, "scores": [ { "na": false, "pass": true, "reason": "Output contains expected text", "scorer": "contains", "value": 1 } ], "status": "passed", "target": { "model": "gpt-5.1", "params": "example", "provider": "openai" }, "transcript": "example", "turns": 3 } ], "description": "Regression suite for the support agent", "name": "Support agent regression", "tags": [ "regression", "nightly" ] } ], "source": { "metadata": "example", "run_id": "run-2026-01-15-001", "system": "mira", "url": "https://ci.example.com/runs/42", "version": "0.4.0" } }'
```

* Production APIapp.everruns.com/api/v1/evals/import

## Request Bodyrequired

Media typeapplication/json

A whole external run group: one external run, one entry per eval. Maps to one everruns EvalRun per eval, all sharing `source.run_id`.

object

**evals**

required

Evals and their case results in this run.

Array\<object>

One eval’s worth of results within the run. The eval is upserted by `name`.

object

**cases**

required

Case results for this eval.

Array\<object>

One case result. The case is upserted by `name` (identity-only: everruns never re-executes it).

object

**description**

Optional case description.

string | null

##### Example

```plaintext
Agent fixes a failing unit test
```

**error\_message**

Error detail when the case errored.

string | null

##### Example

```plaintext
Session timed out
```

**input**

Display-only input turns shown in the UI.

Array\<string>

##### Example

```json
[
  "Fix the failing test in src/lib.rs"
]
```

**input\_tokens**

Input tokens used.

integer | null format: int64

##### Example

```json
1200
```

**latency\_ms**

Execution time in milliseconds.

integer | null format: int64

##### Example

```json
8450
```

**metrics**

Open-vocab metrics bag (cost\_usd, cache/reasoning tokens, ttft, …).

**name**

required

Case name; the case is upserted by it.

string

##### Example

```plaintext
fix-failing-test
```

**output\_tokens**

Output tokens used.

integer | null format: int64

##### Example

```json
850
```

**scores**

Named, attributed scores. Stored opaque; everruns does not re-grade.

Array\<object>

A single named score from an external scorer.

object

**na**

Scorer was not applicable (excluded from aggregate).

boolean

##### Example

```json
false
```

**pass**

required

Whether the scorer passed.

boolean

##### Example

```json
true
```

**reason**

Human-readable explanation of the score.

string

##### Example

```plaintext
Output contains expected text
```

**scorer**

required

Scorer name.

string

##### Example

```plaintext
contains
```

**value**

required

Score value from 0.0 to 1.0.

number format: double

##### Example

```json
1
```

**status**

required

Verdict for the case, trusted as reported.

string

Allowed values: passed failed errored timeout skipped

**target**

required

Provider/model labels this result was produced against.

object

**model**

required

Model name.

string

##### Example

```plaintext
gpt-5.1
```

**params**

Opaque provider parameters.

**provider**

required

Provider name.

string

##### Example

```plaintext
openai
```

**transcript**

Normalized transcript (messages, tool calls, events, parts, files).

**turns**

Number of agent turns taken.

integer | null format: int32

##### Example

```json
3
```

**description**

Optional eval description.

string | null

##### Example

```plaintext
Regression suite for the support agent
```

**name**

required

Eval name; the eval is upserted by it.

string

##### Example

```plaintext
Support agent regression
```

**tags**

Free-form tags for the eval.

Array\<string>

##### Example

```json
[
  "regression",
  "nightly"
]
```

**source**

required

External system that produced the run.

object

**metadata**

Optional environment/labels (git commit, host, etc.).

**run\_id**

required

Stable external run id: cross-eval group key + idempotency key.

string

##### Example

```plaintext
run-2026-01-15-001
```

**system**

required

External system name, e.g. “mira”.

string

##### Example

```plaintext
mira
```

**url**

Link back to the run in the external system.

string | null

##### Example

```plaintext
https://ci.example.com/runs/42
```

**version**

Version of the external system.

string | null

##### Example

```plaintext
0.4.0
```

## Responses

### 200

Success

Media typeapplication/json

Response wrapper for list endpoints. All list endpoints return responses wrapped in a `data` field.

object

**data**

required

Array of items returned by the list operation.

Array\<object>

An eval run: one execution of all/some cases.

object

**attribution**

Provenance for external runs: which system produced them, version, link back, and any environment labels. `None` for internal runs. Open-vocab JSON so new attribution fields need no schema change.

**completed\_at**

When the run finished.

string | null format: date-time

**created\_at**

required

When the run was created.

string format: date-time

**filter\_tags**

Only run cases matching these tags.

Array\<string> | null

**id**

required

External identifier (evalrun\_<32-hex>).

string

**model\_override**

Model override for this run.

string | null

**results**

Case results (populated on detail view).

Array\<object>

Result of a single case within a run.

object

**artifacts**

Collected session file contents keyed by artifact name.

object | null

**case\_name**

Case name (denormalized for display).

string | null

**created\_at**

required

When the result was created.

string format: date-time

**error\_message**

Error message if errored.

string | null

**eval\_case\_id**

required

The case this result is for.

string

**id**

required

External identifier (evalresult\_<32-hex>).

string

**input\_tokens**

Token usage.

integer | null format: int64

**latency\_ms**

Execution time in milliseconds.

integer | null format: int64

**metadata**

External scorer metadata captured during deferred write-back.

**output\_tokens**

Output tokens used.

integer | null format: int64

**scores**

Per-scorer results.

**session\_id**

Session created for this case (browsable in UI).

string | null

**status**

required

Execution status of the case.

string

Allowed values: pending running passed failed errored timeout skipped

**target**

One of:

* object

  One of:

  * object

    Session creation parameters (mirrors CreateSessionRequest).

    object

    **agent\_id**

    Agent to work in this session.

    string | null

    **harness\_id**

    Harness for the session. If omitted, org default harness is used.

    string | null

    **harness\_name**

    Addressable harness name (alternative to harness\_id).

    string | null

    **max\_iterations**

    Max LLM iterations per turn.

    integer | null

    **model\_id**

    LLM model override.

    string | null

    **system\_prompt**

    System prompt override (prepended to agent prompt).

    string | null

    **type**

    required

    string

    Allowed values: session

  * object

    Reference to a deployed app.

    object

    **app\_id**

    required

    string

    **type**

    required

    string

    Allowed values: app

  * object

    Label-only target for externally-executed runs (e.g. imported from Mira).

    Carries provider/model labels and opaque params instead of session setup: external runs are ingested already-complete, so everruns never builds a session from this. Mirrors a provider-agnostic `(provider, model)` pair.

    object

    **model**

    required

    string

    **params**

    **provider**

    required

    string

    **type**

    required

    string

    Allowed values: external

* null

  Session creation parameters (mirrors CreateSessionRequest).

  object

  **agent\_id**

  Agent to work in this session.

  string | null

  **harness\_id**

  Harness for the session. If omitted, org default harness is used.

  string | null

  **harness\_name**

  Addressable harness name (alternative to harness\_id).

  string | null

  **max\_iterations**

  Max LLM iterations per turn.

  integer | null

  **model\_id**

  LLM model override.

  string | null

  **system\_prompt**

  System prompt override (prepended to agent prompt).

  string | null

  **type**

  required

  string

  Allowed values: session

* object

  Reference to a deployed app.

  object

  **app\_id**

  required

  string

  **type**

  required

  string

  Allowed values: app

* object

  Label-only target for externally-executed runs (e.g. imported from Mira).

  Carries provider/model labels and opaque params instead of session setup: external runs are ingested already-complete, so everruns never builds a session from this. Mirrors a provider-agnostic `(provider, model)` pair.

  object

  **model**

  required

  string

  **params**

  **provider**

  required

  string

  **type**

  required

  string

  Allowed values: external

* object

  null

**target\_snapshot**

One of:

* object

  One of:

  * object

    Session creation parameters (mirrors CreateSessionRequest).

    object

    **agent\_id**

    Agent to work in this session.

    string | null

    **harness\_id**

    Harness for the session. If omitted, org default harness is used.

    string | null

    **harness\_name**

    Addressable harness name (alternative to harness\_id).

    string | null

    **max\_iterations**

    Max LLM iterations per turn.

    integer | null

    **model\_id**

    LLM model override.

    string | null

    **system\_prompt**

    System prompt override (prepended to agent prompt).

    string | null

    **type**

    required

    string

    Allowed values: session

  * object

    Reference to a deployed app.

    object

    **app\_id**

    required

    string

    **type**

    required

    string

    Allowed values: app

  * object

    Label-only target for externally-executed runs (e.g. imported from Mira).

    Carries provider/model labels and opaque params instead of session setup: external runs are ingested already-complete, so everruns never builds a session from this. Mirrors a provider-agnostic `(provider, model)` pair.

    object

    **model**

    required

    string

    **params**

    **provider**

    required

    string

    **type**

    required

    string

    Allowed values: external

* null

  Session creation parameters (mirrors CreateSessionRequest).

  object

  **agent\_id**

  Agent to work in this session.

  string | null

  **harness\_id**

  Harness for the session. If omitted, org default harness is used.

  string | null

  **harness\_name**

  Addressable harness name (alternative to harness\_id).

  string | null

  **max\_iterations**

  Max LLM iterations per turn.

  integer | null

  **model\_id**

  LLM model override.

  string | null

  **system\_prompt**

  System prompt override (prepended to agent prompt).

  string | null

  **type**

  required

  string

  Allowed values: session

* object

  Reference to a deployed app.

  object

  **app\_id**

  required

  string

  **type**

  required

  string

  Allowed values: app

* object

  Label-only target for externally-executed runs (e.g. imported from Mira).

  Carries provider/model labels and opaque params instead of session setup: external runs are ingested already-complete, so everruns never builds a session from this. Mirrors a provider-agnostic `(provider, model)` pair.

  object

  **model**

  required

  string

  **params**

  **provider**

  required

  string

  **type**

  required

  string

  Allowed values: external

* object

  null

**turns**

Turn count.

integer | null format: int32

**updated\_at**

required

When the result was last updated.

string format: date-time

**source**

Whether everruns executed this run (`internal`) or it was imported from an external eval system (`external`).

string

Allowed values: internal external

**started\_at**

When the run started executing.

string | null format: date-time

**status**

required

Run lifecycle status.

string

Allowed values: pending running completed failed cancelled

**summary**

One of:

* object

  Aggregate metrics (set on completion).

  object

  **avg\_latency\_ms**

  required

  Mean case latency in milliseconds.

  integer format: int64

  **avg\_score**

  required

  Mean score across cases, 0.0 to 1.0.

  number format: double

  **avg\_turns**

  required

  Mean agent turns per case.

  number format: double

  **errored**

  required

  Number of cases that errored.

  integer format: int32

  **failed**

  required

  Number of cases that failed.

  integer format: int32

  **pass\_rate**

  required

  Fraction of cases that passed, 0.0 to 1.0.

  number format: double

  **passed**

  required

  Number of cases that passed.

  integer format: int32

  **total**

  required

  Total number of cases in the run.

  integer format: int32

  **total\_input\_tokens**

  required

  Total input tokens across cases.

  integer format: int64

  **total\_output\_tokens**

  required

  Total output tokens across cases.

  integer format: int64

* null

  null

**target**

One of:

* object

  One of:

  * object

    Session creation parameters (mirrors CreateSessionRequest).

    object

    **agent\_id**

    Agent to work in this session.

    string | null

    **harness\_id**

    Harness for the session. If omitted, org default harness is used.

    string | null

    **harness\_name**

    Addressable harness name (alternative to harness\_id).

    string | null

    **max\_iterations**

    Max LLM iterations per turn.

    integer | null

    **model\_id**

    LLM model override.

    string | null

    **system\_prompt**

    System prompt override (prepended to agent prompt).

    string | null

    **type**

    required

    string

    Allowed values: session

  * object

    Reference to a deployed app.

    object

    **app\_id**

    required

    string

    **type**

    required

    string

    Allowed values: app

  * object

    Label-only target for externally-executed runs (e.g. imported from Mira).

    Carries provider/model labels and opaque params instead of session setup: external runs are ingested already-complete, so everruns never builds a session from this. Mirrors a provider-agnostic `(provider, model)` pair.

    object

    **model**

    required

    string

    **params**

    **provider**

    required

    string

    **type**

    required

    string

    Allowed values: external

* null

  Session creation parameters (mirrors CreateSessionRequest).

  object

  **agent\_id**

  Agent to work in this session.

  string | null

  **harness\_id**

  Harness for the session. If omitted, org default harness is used.

  string | null

  **harness\_name**

  Addressable harness name (alternative to harness\_id).

  string | null

  **max\_iterations**

  Max LLM iterations per turn.

  integer | null

  **model\_id**

  LLM model override.

  string | null

  **system\_prompt**

  System prompt override (prepended to agent prompt).

  string | null

  **type**

  required

  string

  Allowed values: session

* object

  Reference to a deployed app.

  object

  **app\_id**

  required

  string

  **type**

  required

  string

  Allowed values: app

* object

  Label-only target for externally-executed runs (e.g. imported from Mira).

  Carries provider/model labels and opaque params instead of session setup: external runs are ingested already-complete, so everruns never builds a session from this. Mirrors a provider-agnostic `(provider, model)` pair.

  object

  **model**

  required

  string

  **params**

  **provider**

  required

  string

  **type**

  required

  string

  Allowed values: external

* object

  null

**triggered\_by**

required

What triggered this run.

string

**updated\_at**

required

When the run was last updated.

string format: date-time

##### Example

```json
{
  "data": [
    {
      "completed_at": "2026-01-15T10:30:00Z",
      "created_at": "2026-01-15T10:30:00Z",
      "filter_tags": [
        "regression",
        "nightly"
      ],
      "id": "evalrun_01933b5a000070008000000000000001",
      "model_override": "gpt-5.1",
      "results": [
        {
          "artifacts": {
            "patch": "diff --git a/src/lib.rs b/src/lib.rs"
          },
          "case_name": "fix-failing-test",
          "created_at": "2026-01-15T10:30:00Z",
          "error_message": "Session timed out",
          "eval_case_id": "evalcase_01933b5a000070008000000000000001",
          "id": "evalresult_01933b5a000070008000000000000001",
          "input_tokens": 1200,
          "latency_ms": 8450,
          "output_tokens": 850,
          "session_id": "session_01933b5a00007000800000000000001",
          "status": "pending",
          "target": {
            "type": "session"
          },
          "target_snapshot": {
            "type": "session"
          },
          "turns": 3,
          "updated_at": "2026-01-15T10:30:00Z"
        }
      ],
      "source": "internal",
      "started_at": "2026-01-15T10:30:00Z",
      "status": "pending",
      "summary": {
        "avg_latency_ms": 8450,
        "avg_score": 0.85,
        "avg_turns": 3.2,
        "errored": 1,
        "failed": 2,
        "pass_rate": 0.75,
        "passed": 9,
        "total": 12,
        "total_input_tokens": 14400,
        "total_output_tokens": 10200
      },
      "target": {
        "type": "session"
      },
      "triggered_by": "manual",
      "updated_at": "2026-01-15T10:30:00Z"
    }
  ]
}
```