Skip to main content
POST
Judge results under a decision's objective

Authorizations

Authorization
string
header
required

An API key, sent as Authorization: Bearer <key>. Each operation lists the scope its key needs: decisions:evaluate (evaluate and read evaluations), decisions:feedback (your app's feedback) or decisions:develop (everything else, including owner feedback and the review queue). An operation listing no scope takes any scoped key. A key with no scope, or without the operation's, gets 403 INSUFFICIENT_SCOPE.

Path Parameters

decision_id
string
required
Pattern: ^[a-z][a-z0-9_.-]{0,127}$

Body

application/json
candidate
object
required

One version's results: runs by id, or results inline with the structure they ran on.

base
object

The version to compare with: same items, by item_id.

cases
object

Page through each item's loss. Without it the report has no rows.

Response

The loss report

objective
object
required

What this run scored with.

base
object | null
required

The base's report; null when there is no base.

candidate
object
required
accepted
boolean
required

The candidate lowers loss per case and adds no new severe mistake on a human-labeled case. False without a base.

reasons
string[]
required

Why it is not accepted; empty when it is.

new_severe_human
string[]
required

Human-labeled cases the candidate gets severely wrong that the base did not.

environment
enum<string>
required

The environment of the key that made the call: production or test. Evaluations, feedback, reviews and suggestions are separate per environment; registered structures are shared.

Available options:
production,
test
decision_id
string
required
Pattern: ^[a-z][a-z0-9_.-]{0,127}$
excluded
object
required

Items left out of the report, by why.

cases
object

With cases in the request: one page of rows.