Tell Resemble whether a detection verdict was right — and when it wasn't, what it
should have been. The answer is stored with a snapshot of what the model said at the
time of submission (verdict, score, media type, raw metrics), so it stays interpretable
even if the detect is later re-run or deleted.
Upserts on `(detect, user)`: re-posting edits your existing answer rather than adding a
second one. There is no separate update call. Feedback is per user, not per team — a
teammate's answer on the same detect is invisible to you.
The detect must have completed processing; feedback on a pending or failed detect is
rejected with 400. Teams without Detect access also receive 400 (not 403).
Request
This endpoint expects an object.
typeenumRequired
What the verdict should have been.
- `correct` — the verdict was right.
- `should_be_ai_generated` — we said authentic; it is AI-generated.
- `should_be_authentic` — we said AI-generated; it is genuine and unaltered.
- `should_be_non_ai` — no model generated it, but it may still be edited, spliced, or a human impersonation.
- `should_be_neutral` — neither call is right; the media is genuinely ambiguous.
- `skipped` — the verdict was wrong, but the reviewer didn't say how.
commentstringOptional<=1000 characters
Free text, up to 1000 characters. Trimmed; blank becomes null.
sourcestringOptionalDefaults to api
Where the answer came from. Use a stable, aggregatable value such as a product
or queue name — not a per-request identifier. Truncated to 64 characters
rather than rejected.