# Update scores for one eval result.

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

PATCH

/v1/evals/{eval\_id}/runs/{run\_id}/results/{result\_id}/scores

Select code samplecURL (shell:curl)

```js
const url = 'https://app.everruns.com/api/v1/evals/example/runs/example/results/example/scores';
const options = {
  method: 'PATCH',
  headers: {'Content-Type': 'application/json'},
  body: '{"metadata":"example","scores":[{"pass":true,"reason":"Output contains expected text","value":1}],"status":"passed"}'
};


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

```sh
curl --request PATCH \
  --url https://app.everruns.com/api/v1/evals/example/runs/example/results/example/scores \
  --header 'Content-Type: application/json' \
  --data '{ "metadata": "example", "scores": [ { "pass": true, "reason": "Output contains expected text", "value": 1 } ], "status": "passed" }'
```

* Production APIapp.everruns.com/api/v1/evals/{eval\_id}/runs/{run\_id}/results/{result\_id}/scores

## Parameters

### Path Parameters

**eval\_id**

required

string

Prefixed public identifier

**run\_id**

required

string

Prefixed public identifier

**result\_id**

required

string

Prefixed public identifier

## Request Bodyrequired

Media typeapplication/json

Request to write external scores to one eval case result.

object

**metadata**

Free-form metadata attached to this resource.

**scores**

required

Externally computed scores to store on the result.

Array\<object>

Result from a single scorer evaluation.

object

**pass**

required

Whether this scorer passed.

boolean

##### Example

```json
true
```

**reason**

required

Human-readable explanation.

string

##### Example

```plaintext
Output contains expected text
```

**value**

required

Score value 0.0–1.0.

number format: double

##### Example

```json
1
```

**status**

One of:

* string

  Current lifecycle status.

  string

  Allowed values: passed failed errored

* null

  null

## Responses

### 200

Success

Media typeapplication/json

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

##### Example

```json
{
  "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"
}
```

### 404

Eval result not found