Validate Email (v2)
Validation (v2)
Validate Email (v2)
Submit an email to the agentic validator — async or sync
POST
Validate Email (v2)
Submit email content to the agentic email validator. By default the request is
processed asynchronously: the endpoint returns a
job_id you poll via
Get Validation Results (v2). Set
mode: "sync" to run the validation inline and receive the completed result in
a single response.
Request Body
The email content to validate. This is the canonical field;
text_snippet
(string) and email_bytes (base64-encoded UTF-8) are accepted as aliases.
One of email_text, text_snippet, or email_bytes is required.Execution mode:
async (default) returns 202 with a job_id to poll;
sync runs the agentic graph inline and returns the completed result with
200. Sync requests above the size cap (default 20,000 characters) or that
fail inline automatically fall back to async.Optional metadata merged into the job.
document_type is always forced to
email so the request routes to the agentic engine.Explicit scenario id to validate against, e.g.
scenario_email_general. When
omitted, the validator matches scenarios by metadata: every email matches an
audience-agnostic baseline carrying core signals — material non-public information
(MNPI), market manipulation, high-pressure sales, and client-data privacy — and
audience_hint: retail_US additionally applies retail-disclosure signals. Your
account’s active custom rules (from policy imports) are evaluated as well. If no
scenario/signals match at all, the job fails rather than returning a false
approved.Provider hint (
openai, anthropic, gemini). Honored only if the customer
is configured to allow provider override; otherwise the customer’s assigned
provider is used.Model hint, e.g.
claude-sonnet-4-6. Subject to the same override rule as
llm_provider.Response
Always
v2.Unique identifier for the validation job.
queued for async submissions. For sync responses the full status
vocabulary applies (completed / failed).Mode the request was actually processed in:
async or sync. A sync
request that fell back returns async.ISO 8601 UTC timestamp when the job was created, e.g.
2026-06-25T12:00:00.123456+00:00.Where to poll for the result (async only).
Billing usage counters (when usage tracking succeeds).
For the
sync response body (HTTP 200), the envelope is identical to a
completed poll — see
Get Validation Results (v2) — with
"mode": "sync" added.
