API reference

One endpoint today: POST /api/v1/detect. Detection uses the same pipeline as the web detector; text is never stored.

Request

  • text (string, required): 100 to 20000 words.
  • Header Authorization: Bearer <key>.
  • Header Content-Type: application/json.

Response

Verdict, per-sentence cue array with evidence reason codes (perplexity/burstiness/log-rank where available), the method that ran, and a usage block:

{
  "verdict": "likely_ai" | "mixed" | "likely_human",
  "sentences": [{ "text": "...", "score": 0.8, "evidence": [...] }],
  "method": "model" | "deterministic",
  "usage": { "words": 120, "monthly_words_used": 120, "monthly_word_limit": 100000 }
}

Error semantics

  • 401 unknown or disabled API key (WWW-Authenticate: Bearer)
  • 400 invalid body or word count out of range
  • 402 monthly word quota exhausted (usage in the body)
  • 429 request rate limit exceeded
  • 503 detection temporarily unavailable (text is never stored)