Feedback
Record a thumbs up/down on an answer, keyed by its decisionId — the production signal the eval flywheel samples.
Records a thumbs up/down on an answer, tied to the decisionId that answer
returned. This is the {feedback} signal in the eval flywheel: production
traffic → online judges → triage queue → dataset rows. Because decisionId
identifies the exact policy decision, retrieved chunks, and snapshot the answer
was composed under, a rating is fully replayable back to what produced it.
Any authenticated key may submit feedback — including the public widget key.
Request body
Prop
Type
{
"decisionId": "dec_a71b…",
"rating": "down",
"reason": "didn't mention the porting fee"
}Response
202 Accepted — the rating is recorded.
Prop
Type
{ "ok": true, "feedbackId": "fb_9c2e…" }Try it
v0 stores feedback in-memory on the gateway (it survives only for the process lifetime) — the honest cut while the durable trace log is a separate workstream. The contract is stable; the storage is what gets upgraded.
Answer (streaming)
The same grounded answer as /v1/answer, delivered as a Server-Sent Events stream — token deltas as they generate, then a terminal frame with citations.
Resolve policy
Explain the compiled scope for a surface — the ACL tokens a key holds and the classifications it may see, without running a search.