POST /api/v1/voice-engine/llm/v1/moderations
The request and response bodies follow the OpenAI moderations schema, so existing OpenAI clients work by pointing at this base URL and authenticating with your PeachDesk API key (X-API-Key). brahma-moderation is a thin classification layer over your organization’s self-hosted BRAHMA LLM plane — the same GPU that serves chat completions — never an external provider. Every response carries per-organization rate-limit headers; non-2xx responses use the OpenAI error format.
Model
Any
model you send is accepted and the response always reports brahma-moderation.
Backends
brahma-moderation can be served by either of two self-hosted backends. The request and response shape is identical for both — the choice is an operator deployment setting, swapped silently without any client change:
Both run entirely on your own GPUs; nothing is sent to a third-party moderation service. Which backend is active is transparent to your code — you always send and receive the schema below.
Categories
Each result reports a boolean and a confidence score (0–1) for all 13 categories:Request fields
Response
results[i] corresponds to input[i]. flagged is true when any category is true or any category_scores value exceeds the server threshold (default 0.5).
Example
Guidance
- Scores are calibrated policy signals, not verdicts. Use
category_scoresand set your own thresholds per category to match your risk tolerance — a stricter product may act on scores well below the default flag threshold, a lenient one only onflagged. - Moderate on both sides of a generation. Screen user input before it reaches an agent, and screen the model’s reply too. For streamed generations, moderate the assembled text after the stream completes — partial fragments classify poorly.
- Batch for throughput. Send up to 32 inputs in one call; each is classified independently and returned in order.
- Self-hosted. Requests run entirely on your organization’s own BRAHMA GPU. Nothing is sent to a third-party moderation service.
Moderation reuses your BRAHMA LLM plane. If that plane is still warming up, the endpoint returns a
503 with Retry-After — retry shortly.
