---
title: "Manually evaluate threads"
method: POST
path: "/v1/private/manual-evaluation/threads"
tags: ["Manual Evaluation"]
---

# Manually evaluate threads

`POST /v1/private/manual-evaluation/threads`

Manually trigger evaluation rules on selected threads. Bypasses sampling and enqueues all specified threads for evaluation.

## Request body

- ManualEvaluationRequest
  - `project_id` string, uuid, required — Project ID
  - `entity_ids` string[], required — List of entity IDs (trace IDs or thread IDs) to evaluate
  - `rule_ids` string[], required — List of automation rule IDs to apply
  - `entity_type` 'trace' | 'thread' | 'span', required — Type of entity to evaluate (trace or thread)

## Response `202`

Accepted - Evaluation request queued successfully

- ManualEvaluationResponse
  - `entities_queued` integer — Number of entities queued for evaluation
  - `rules_applied` integer — Number of rules that will be applied

## Other responses

- `400` — Bad Request - Invalid request or missing automation rules
- `404` — Not Found - Project not found

---

[API](https://skmtc.net/comet-ml/apis/opik-rest-api.md) · [All operations](https://skmtc.net/comet-ml/apis/opik-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/comet-ml/opik-rest-api/versions/4ed2fbc97cc3/schema)
