Evaluate

Evaluate text against a rule set. Works with no key (10 a day, inputs up to 2,000 characters, prebuilt rule sets); a key lifts the limits

post/api/v1/evaluate

Request

  • Base URL: https://overwing.ai
  • URL: https://overwing.ai/api/v1/evaluate
  • Auth: one of:
    • none
    • HTTP bearer

Headers

Idempotency-Keystring

Optional. Retrying with the same key and body within 24 hours returns the stored response (header Idempotency-Replayed: true) without re-running or re-charging. Same key with a different body returns 422; a still-running original returns 409.

Request body

inputstring required

The LLM output (or any text) to evaluate. The input can be in any language the model reads. Tested on 2026-09-29 in Spanish, Portuguese, French, German, Japanese, Chinese (Simplified), Korean, Arabic and Hindi: 7 checks in each, and every verdict matched the English one. A small test, not a benchmark: the texts were written by a model and have not been reviewed by native speakers. Responses are in English whatever the input language.

rule_setstring required

Rule set slug. Prebuilt: content-safety (toxicity, PII, self-harm, sexual content, severity) and outbound-message (adds unauthorized_pii and confidential_leak, and reads the context object)

metadataobject

Opaque context echoed back and stored with the evaluation

contextobject

Structured facts about the situation, passed to the model as state next to the text so rules can reference them: e.g. { recipient: "known customer", channel: "email", owns_contact_info: true }. Max 8 KB.

storeboolean

False runs the check without keeping the input text or the context: the record holds the verdict, scores and metadata only. It cannot turn storage back on when the organization has store_inputs off (PATCH /api/v1/org). The response header X-Input-Stored says which happened.

Response

Verdict

idstring required
verdict'pass' | 'fail' | 'review' required

fail: a rule's fail condition matched. review: a rule's confidence was below its review threshold and nothing failed. pass: otherwise.

recommended_action'block' | 'redact' | 'review' | 'allow' required

One word to act on, derived from the failed rules' actions: block if any failed rule says block, else redact, else review (a review verdict or a review-action fail), else allow.

aggregate_scorenumber required

Weighted score: pass=1, review=0.5, fail=0 per rule, weighted by rule weight. A ranking signal for sorting or thresholds, not a decision: use verdict and recommended_action to act.

confidencenumber required

Minimum confidence across rules

latency_msinteger required

Example response

{
  "id": "eval_aBcDeFgHiJkLmNoP"
}

Changes

No recorded changes to this operation across all 1 revision of this API.