Wire-compatible OpenAI Chat Completions proxy
Body and response match POST https://api.openai.com/v1/chat/completions
verbatim. Antidote scans both directions; the verdict either
forwards (allow), mutates content in place (redact), or returns
an OpenAI-shaped error (block).
Streaming: pass stream=true to receive Server-Sent Events.
The firewall scans the assembled response on a 250 ms / 80-char
cadence and emits finish_reason: content_filter mid-stream on
a block verdict.
Headers: Authorization is reserved for OpenAI and forwarded
upstream untouched. Authenticate to Antidote via X-API-Key.
Authorizations
Antidote workspace API key (ak_live_…). Use this header for the
scan API and the OpenAI proxy routes. The required permission
scope is runtime_security.scan for scan endpoints,
runtime_security.view for read-only analytics, and
runtime_security.manage for configuration changes.
Body
OpenAI Chat Completions request body. See https://platform.openai.com/docs/api-reference/chat/create for the full schema.
The body is of type object.
Response
On stream=false, an OpenAI Chat Completion response. On
stream=true, an SSE stream (text/event-stream).
The response is of type object.

