Get OZAV's verdict on a risk question
Runs OZAV's own engines on the input and returns the verdict with its reasons and checks. The verdict is recorded (your input is not) so you can read it back and report its outcome.
Missing or stale data is REVIEW, never ALLOW. If an engine cannot answer at all, the call returns 503 DECISION_UNAVAILABLE, nothing is recorded and nothing is charged.
Send an Idempotency-Key to retry safely: the same key and body return the same decision and are not charged again; the same key with a different body answers 409.
Requires the decisions:write scope. API keys created before this scope existed do not gain it: create a new key with the scopes you need.
Request
- Base URLhttps://developers.ozav.io/v2
- Auth
- API key in header X-API-Key
- or HTTP bearer
Headers
Pay this call in USDC with x402 (v2, scheme exact) instead of prepaid credit: the base64 PaymentPayload answering the PAYMENT-REQUIRED challenge of a previous 402. OZAV checks the authorization itself, settles it on-chain itself, credits the amount to your prepaid balance and runs the call, which is then charged as usual; the settlement comes back in the PAYMENT-RESPONSE header. A call that fails after payment is refunded to your credit, not on-chain. To pay with MPP instead, send Authorization: Payment <credential> answering the WWW-Authenticate challenge, with your API key in X-API-Key; the receipt returns in Payment-Receipt, and one authorization is credited once whichever protocol carries it. With a test key, see X-Ozav-Simulate-Payment.
Sandbox only. A sandbox call is never charged, so it never answers 402 by itself. Send required to rehearse the payment: the call answers the same 402 (PAYMENT-REQUIRED and details.x402, with details.simulated: true) at the real price of the call, payable to the sandbox address 0x0000000000000000000000000000000000000402. Retry with a well-formed PAYMENT-SIGNATURE (for example the one an OZAV agent signs in the sandbox with POST /agents/{agent_id}/payments): the call runs and PAYMENT-RESPONSE comes back with simulated: true. Nothing is checked on-chain and nothing moves. Ignored with a live key.
Optional idempotency key (16-256 characters of [A-Za-z0-9_-]); same semantics as on money-moving operations.
Request body
Response
The verdict.
Changes
No recorded changes to this operation across all 1 revision of this API.