Propose options for what the escape option holds
For a fixed-option choice only: a discover job samples
recent documents in window whose answer is none_of_the_above (or
whose escape_p is at or above the lowest threshold any name sets on
none_of_the_above, when one does) and sends them, compiled with the
judgment’s recipe, to a third-party LLM provider with the question
and current options, for up to count new options. It then checks
the proposed options against the sample in shadow, free and without
changing any answer. Its proposal is the
current options plus the proposed ones, with how many escape
documents each would absorb and how many stay unlabelled. It never
creates a version: edit the options, create the version, and
activate it through its shadow report.
- Opt-in.
forbiddenuntil an org admin enablessuggestions, because the sample goes to an LLM provider, a disclosed subprocessor, as forsuggest_parts. - Limits. Free, and limited to 10 calls per organization a
day, across its namespaces and judgments. These are its own:
discovertakes none ofsuggest_parts’ calls, and they take none of its. Past them it israte_limited, withdetails.limit(10) anddetails.resets_at, the next midnight UTC, and noRetry-After. The call is taken when the job is created; a busy provider is waited out, and a job that fails before the provider has run for it gives the call back. - Ends. Fewer options than
count, or none when the escape holds nothing new, still end the jobdone. It fails, witherrorsaying why, only when it got no options to check: the provider stayed busy through every retry, or did not reply with options. - A
bool, ascoreor anoptions.fromjudgment isinvalid_request: none of them has a fixed escape to propose from.
Authorizations
An organization API key. Keys carry a role (read_write or
read_only) and may be restricted to a namespace prefix such as
acme/*, or to one namespace such as acme/prod/tenant_1. A prefix
matches on a / boundary: acme/prod/tenant_1* covers
acme/prod/tenant_1 and everything under acme/prod/tenant_1/,
never acme/prod/tenant_12.
Headers
One key per logical request, reused only on its retries. A key
belongs to one request: within your organization, the same method,
path, query and body. For 24 hours after a successful response, a
request with the key and the same body gets that response back
verbatim, with Idempotent-Replayed: true, and runs nothing. Only a
successful response is kept, so the retry of a request that failed
runs again. While the first request runs or its response is kept,
the key with a different request is idempotency_key_reused (422).
A request sent while one with its key is still running is
rate_limited with Retry-After: 1, without running: retry it to
get the first one's response. In the rare case the key can't be
checked, the request runs as if it had none.
1 - 255Path Parameters
The namespace name, with any / sent as %2F.
Up to 256 bytes. / separates levels of the hierarchy, as in acme/prod/tenant_123. Never exactly . or .., which a URL path can't carry.
1 - 256^(?!\.\.?$)[A-Za-z0-9._:/-]+$A judgment, attribute or threshold name. Names are path segments in field references, so they never contain ..
1 - 128^[A-Za-z0-9_-]+$Body
Which escape documents to sample and how many options to ask for. Both are optional; {} samples the last 7 days for up to 5 options.
Response
The discover job. Its proposal fills in when it is done.
A job. A shadow job comes from activating a differing
version without force. It starts in awaiting_confirm and
runs its sample while it waits; report fills in when the sample is
done. confirm activates version and the job ends done; cancel
leaves the active version unchanged. On a template prefix, namespace
is the prefix. A reference_index job builds the index
an entity judgment's relations need; it starts running, and
attribute names the attribute it indexes. An evaluation_export
job starts running, counts evaluations written in
progress.documents_done, never spends, and has export.
A resync job re-renders the readers of a changed threshold (resync) and re-judges the documents whose rendering flipped; a group_build job computes a new group's or aggregate's
first aggregates with no fan-out (group); a discover job fills
in proposal; a simulation job fills in simulation. Each starts running; discover and simulation never
spend. Fan-out is not a job: it runs within the judgment's rolling
limit and is deferred past it.
backfill, shadow, periodic, namespace_delete, reference_index, evaluation_export, resync, group_build, discover, simulation estimating, awaiting_confirm, running, paused, done, failed, cancelled A namespace name, or a template prefix: a namespace path ending in
/*, such as acme/prod/*, which every namespace under acme/prod/
inherits judgments from. Up to 256 bytes. Never exactly
. or .., which a URL path can't carry.
1 - 256^(?!\.\.?$)[A-Za-z0-9._:/-]+(/\*)?$Judging billed by this job so far, in US dollars.
x >= 0RFC 3339, UTC.
RFC 3339, UTC.
A judgment, attribute or threshold name. Names are path segments in field references, so they never contain ..
1 - 128^[A-Za-z0-9_-]+$RFC 3339, UTC.
Only on reference_index jobs, as attributes.<name>. The attribute whose reference index the job builds. Null for other jobs.
^attributes\.[A-Za-z0-9_-]+$Only on resync jobs.
Only on group_build jobs, the group whose aggregates it computes.
1 - 128^[A-Za-z0-9_-]+$Only on discover jobs; null until done.
Only on simulation jobs; null until done.
Shadow jobs only. The version being activated.
x >= 1Shadow jobs only. Null while the sample runs; progress counts the
sampled documents. A composite version's job has a
CompositeShadowReport, and when it has too few labels it
fails with an error that starts with insufficient_labels.
- Option 1
- Option 2
evaluation_export jobs only: the range, the evaluations written, and once done the download links.