/api/v1/evaluate before your runtime dispatches the proposed action. Honor the returned decision before any side effect starts.
Use the endpoint and credentials issued for your environment. Public examples use the production host.
Request
Request fields
Response - ALLOW
Response - DENY
decision. The same proposed action may return different reason_code values depending on which policy layer blocks it (for example PRE_FILTER_BLOCK vs a more specific path or injection code).
Human hold
POST /api/v1/evaluate is strictly synchronous and returns ALLOW or DENY. If a proposed action would require waiting for a human on this path, evaluate fails closed and returns DENY with REVIEW_REQUIRED_FAIL_CLOSED.
A human hold is available on the MCP connector path. The connector pauses until a reviewer approves or denies, then returns ALLOW or DENY. Unresolved holds fail closed.
reason_code and policy_version_id are opaque support/evidence identifiers. Values depend on your active policy, environment, and evaluation path. Do not build exhaustive dispatch logic on them. The contract is that the runtime receives a decision before the proposed action executes.Response fields
Runtime semantics
Honor the decision before dispatch:Client timeout
Set an evaluate HTTP client timeout of at least 10 seconds.10s is the recommended default.
Observed evaluate latency on the public production host is commonly about 1–4 seconds. Slower environments and cold paths can take longer. If you set a 1–2s timeout, fail-closed will block legitimate ALLOW traffic.
