Skip to main content
POST
Validate Content
Submit content for compliance validation, with a choice of validation engine. Requests require mode and model_engine. With mode: "async", the endpoint returns a job_id you poll via Get Validation Results. Set mode: "sync" to run the validation inline and receive the completed result in a single response.

Request Body

string
required
Plain text email body to validate.
string
default:"anchor_3_0"
required
Validation engine to use: v2_frontier runs the agentic multi-model engine (GPT-4o-mini, Claude, Gemini). anchor_3_0 runs the Anchor 3.0 compliance SLM on Modal — 30–50% faster with lower token overhead — carrying a sentinel-head detection adapter (per-line, per-rule calibrated probabilities over the deployed checkpoint’s frozen 235-rule vocabulary) and a judge-rewarded rewrite adapter. Both engines return the same result shape; anchor_3_0 results additionally include relevant_rule_ids and input/output token counts. If anchor_3_0 fails, the request falls back to v2_frontier automatically with the fallback_engine field set in the response.
string
default:"async"
required
Execution mode: async returns 202 with a job_id to poll; sync runs inline for short content and returns the completed result with 200, falling back to async if it would exceed the inline budget.
object
Optional metadata merged into the job. document_type is always forced to email.
string
Optional explicit scenario id to validate against, e.g. scenario_email_general (the default when omitted). Your account’s active custom rules (from policy imports) are evaluated as well.
object
Optional nested form to narrow live validation to a subset of already-active rules, rule packs, and imports.

Response

Returns 202 Accepted for async submissions. Poll Get Validation Results for the outcome.
string
Always v3.
string
Unique identifier for the validation job.
string
queued for async submissions. For sync responses the completed result envelope is returned inline (status: done).
string
Mode the request was actually processed in: async or sync. A sync request that fell back returns async.
string
Engine that accepted the job: v2_frontier or anchor_3_0.
object
Where to poll for the result (async only).
For the sync response body (HTTP 200), the envelope is identical to a done poll — see Get Validation Results — with "mode": "sync" added.

Error Responses

Example