Skip to main content
Every response from the explain endpoint follows this schema. Use this reference when you write the parsing and enforcement logic on your server — for example, when deciding whether to block an action based on conclusive, branch on a specific verdict value, or inspect individual signals for audit logging.

Top-Level Fields

integer
required
Response schema version. Currently 7. The value increments on breaking changes to the response structure. Check this field in production parsers so you can gate on the version you were written against and fail safely if an unexpected version arrives.
object
required
Metadata about the API version that produced this verdict. Useful for bug reports and support tickets.
string
required
The ruling for this session. One of contradicted, refused, disputed, uncontradicted, or insufficient. See the Verdicts table below for the full breakdown of what each value means and when to act on it.
boolean
required
true when the verdict is backed by an absolute signal or by two corroborating composite signals from different evidence families. Use this flag as your primary enforcement gate — a conclusive: true result means the evidence is strong enough to act on without additional review.
string
required
A human-readable, one-to-two sentence explanation of why the verdict was reached. Suitable for internal dashboards, support tooling, or analyst review queues. Example: "Claimed locale is physically unreachable; transport stack contradicts the claimed OS."
string[]
required
List of evidence family IDs whose signals actively contradicted the client’s claims. Empty when the verdict is anything other than contradicted. Possible family IDs: network-geometry, transport-stack, tls-construction, compute, render, declared.
object
required
Aggregate counts of how many evidence families participated in this session’s measurement.
array
required
Individual signals that fired during evaluation. Each entry represents one specific test that produced a result. The array may be empty for insufficient verdicts where too few families reported.

Verdicts

The verdict string and conclusive boolean work together. Use conclusive as your primary enforcement signal and verdict for categorisation, logging, and routing.
The schema integer will increment whenever there is a breaking change to this response structure. Always check schema in your production parser and handle unexpected versions explicitly — do not silently fall through to default logic.