Validate Content
Validate
Validate Content
Validate content with the v2_frontier agentic engine or the Anchor 3.0 SLM — async or sync
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
Returns202 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.
