Skip to main content
A reward is created when you send an answer to POST /v1/rewards, and read with GET /v1/rewards/{id}:

Status

The scores

Use reward to compare with AICME’s published results. partial is the denser signal, and must_pass and all_pass are binary rewards, if your trainer wants one.

The flags

Each flag explains a reward of 0. All four scores are 0 when one is set. New flags may be added. Treat a flag you don’t know as a reward of 0 with a reason.

A failed reward

status: failed means we couldn’t score the answer. It is never caused by the answer, and it is never a 0:
We retry a reward ourselves before we report it as failed. To try again, send the same answer: a failed reward isn’t reused, so that creates a new one. reason is judge_error or infra, and new reasons may be added.

Versions

  • Send the version you downloaded and ran, so the answer is scored against that version. The package’s verifier always does.
  • Leave out version and judge_version to use the ones your lab is pinned to. Your first reward on a task pins the versions current then.
  • Name a version to score against it. It doesn’t move your pin.

Sending the same answer again

The same answer, sent again for the same task version and judge_version, returns the first reward. It isn’t scored twice. client_ref is optional: your own label of up to 256 characters, returned on the reward.

Waiting instead of polling

Send Prefer: wait=<seconds>, up to 120, to have us hold the request until the reward is final. See Limits.