deepfakeDetection

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

post/detect/{uuid}/feedback

Path parameters

uuidstring required

UUID of the completed detect.

Headers

Authorizationstring required

Request body

type'correct' | 'should_be_ai_generated' | 'should_be_authentic' | 'should_be_non_ai' | 'should_be_neutral' | 'skipped' required

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

Free text, up to 1000 characters. Trimmed; blank becomes null.

sourcestring

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

successboolean

Changes