Skip to main content
POST
Dry-run the security pipeline (no model call, no billing)

Policy Check (Dry Run)

Run the entire security pipeline for a completion payload without calling any model and without billing. Policy Check accepts the same body as Chat Completion and returns a per-check report: input validation, model allowlists (for the whole redundancy chain), SMLTP policy resolution/authorization, Prompt Shield authorization and a report-only scan verdict, and a points-quota preview. Use it to pre-flight requests, build “will this be allowed?” UIs, or test policy configuration safely.

Endpoint

Authentication

Request Body

The same schema as Chat Completion (prompt or messages, model/models/fallback_models, smltp_policy, prompt_shield, index, etc.). Nothing is generated and nothing is billed.

Request Example

Response

Top-level fields

Checks

A failed check includes passed: false, the HTTP status the real endpoint would have returned, and the same error/message fields.

Notes

  • Policy Check never calls a model, never streams, and never spends points.
  • The Prompt Shield scan is skipped (skipped: true) when the key disables the shield or the request opted out.
  • would_block reflects the current shield mode — a BLOCK verdict only blocks when shield_mode is blocking.

Authorizations

Authorization
string
header
required

API key authentication using Bearer token format. Example: Authorization: Bearer sk-your-api-key-here

Body

application/json

Same schema as POST /chat/completions

Response

Per-check report with allowed, checks, and resolved plan