API Reference / Results

Say whether a result was right

POST/v1/operations/{operation_id}/feedback

Tells us whether an AI-speech check (deepfake.detect) got it right. Send correct, and optionally what the recording really is (label: real or fake) and a short note. Only for checks of your own account; sending again replaces your earlier answer. No credits are used. We store your answer with the result, not the audio: keeping recordings for review would need your explicit consent and is not offered yet. Requires the scope of the check (deepfake:detect).

Authentication

Send your API key as Authorization: Bearer <your API key>.

Headers

NameTypeDetails
Authorizationrequiredstring

Bearer <your API key>. Keys are created in the dashboard; see Authentication.

Path parameters

NameTypeDetails
operation_idrequiredstring

The operation_id of the check (op_...).

Request body

Content type application/json.

  • correctbooleanrequired

    Was the result right?

  • labelstring or null

    Optional: what the recording really is.

    One of: real, fake

  • notestring or null

    Optional note, at most 500 characters.

    at most 500 characters

Example request body
{
  "correct": false,
  "label": "real",
  "note": "My own voice, recorded on a phone."
}

Response

200 Your answer was saved.

  • request_idstringrequired
  • objectstringrequired

    always "operation.feedback"

  • operation_idstringrequired
  • correctbooleanrequired
  • labelstring or nullrequired

    One of: real, fake

  • notestring or nullrequired
  • created_atstringrequired
  • updated_atstringrequired

Example response

JSON
{
  "request_id": "req_8f14e45fceea167a5a36dedd",
  "object": "operation.feedback",
  "operation_id": "op_6f1ed002ab5595859014ebf0951522d9",
  "correct": false,
  "label": "real",
  "note": "My own voice, recorded on a phone.",
  "created_at": "2026-10-13T09:30:00Z",
  "updated_at": "2026-10-13T09:30:00Z"
}

Errors

StatusMeaning
400

The request is invalid, for example a missing or malformed field.

401

The API key is missing, invalid or revoked.

403

The key lacks the required scope, the email address is not verified, or the account is suspended.

404

Not found. Also returned for resources that belong to another account.

409

Conflict, for example a request with the same Idempotency-Key is still running, or the speaker already has the maximum number of samples.

429

Too many requests or too many operations at the same time. Wait for the number of seconds in Retry-After.

500

Something went wrong on our side. No credits were used.

Error bodies share one shape with a stable error.code; see Errors for every code and how to fix it.

Code samples

cURL
curl -X POST "https://platform.detectif.ai/v1/operations/op_0123456789abcdef0123456789abcdef/feedback" \
  -H "Authorization: Bearer $DETECTIF_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"correct":false,"label":"real","note":"My own voice, recorded on a phone."}'