trickroom / Docs
Sign in

Report a reward for a job

Reporting the same scorer (and turn) again replaces its value; when reports race, the one that started last stands and the other gets 409 reward_superseded. A trace_id must be one of the job's model calls and sets the turn. detail is plaintext metadata (up to 20 short values), not content. A review is a person's label of the job (1 good, 0 bad), weighted 2 by default; reviews also calibrate an evaluation's model judges.

POST/v1/jobs/{id}/rewards

Authorization

Authorizationstringrequired

Bearer tak_… — an application API key. Keep it on your backend; all resources are scoped to that application.

Create an application key →

Path parameters

idstringrequired

Min length: 1

Body

valueobject
Allowed shapes

object

kind"external"
scorerstringrequired

Pattern: ^[a-zA-Z0-9_.-]{1,100}$

valuenumber | nullrequired
weightnumber

Default: 1 · Minimum: 0 · Maximum: 1000

turn_idstring

Min length: 1 · Max length: 200

trace_idstring

Min length: 1 · Max length: 200

detailobject

Additional keys: string | number | boolean | null

object

kind"review"required
scorerstring

Default: "review" · Pattern: ^[a-zA-Z0-9_.-]{1,100}$

valuenumberrequired

Minimum: 0 · Maximum: 1

weightnumber

Default: 2 · Minimum: 0 · Maximum: 1000

turn_idstring

Min length: 1 · Max length: 200

trace_idstring

Min length: 1 · Max length: 200

detailobject

Additional keys: string | number | boolean | null

object

kind"choice"required
scorerstring

Default: "choice" · Pattern: ^[a-zA-Z0-9_.-]{1,100}$

shownarray<any>required

Min items: 2 · Max items: 20

chosenany | nullrequired
promptstring

Min length: 1 · Max length: 12000

weightnumber

Default: 1 · Minimum: 0 · Maximum: 1000

turn_idstring

Min length: 1 · Max length: 200

trace_idstring

Min length: 1 · Max length: 200

detailobject

Additional keys: string | number | boolean | null

Response

201Report a reward for a job
X-Request-Idstring

Server-generated request identifier for logs and support.

application/json

idstringrequired

Min length: 1

job_idstringrequired

Min length: 1

kindstringrequired

Allowed: "check""model_judge""webhook""external""feedback""approval""takeover""choice""edit""review"

scorerstringrequired
turn_idstring | nullrequired
trace_idstring | nullrequired
valuenumber | nullrequired
weightnumberrequired
gatebooleanrequired
detail_jsonobjectrequired

Additional keys: any

created_atstringrequired

Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$

updated_atstringrequired

Format: date-time · Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$

4XX400 invalid input; 401 missing/revoked credentials; 403 disallowed operation/application; 404 missing or inaccessible resource; 409 conflicting submission/version/state; 413 body too large; 415 unsupported content type. Inspect error.code, not message text.
X-Request-Idstring

Server-generated request identifier for logs and support.

application/json

errorobjectrequired
Object fields
codestringrequired
messagestringrequired
request_idstringrequired

Additional keys: any

5XX500 unexpected failure or 503 unavailable dependency. A failed response does not prove that a submission was not committed. Retry job/flow admission with the same key and body.
X-Request-Idstring

Server-generated request identifier for logs and support.

application/json

errorobjectrequired
Object fields
codestringrequired
messagestringrequired
request_idstringrequired

Additional keys: any