Submit detection feedback

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).

Authentication

AuthorizationBearer
API key from https://app.resemble.ai/hub/api

Path parameters

uuidstringRequired
UUID of the completed detect.

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.

Response

Feedback recorded
successbooleanOptional
itemobjectOptional

A reviewer’s answer about a detection verdict, stored with a snapshot of what the model said at the time the answer was submitted. Returned by POST /detect/{uuid}/feedback and GET /detect/{uuid}/feedback.

Errors

400
Bad Request Error
404
Not Found Error