Defend

Input guard

Request and response schema for the input guard, including limits and error behavior.

Evaluates inbound text before you call your LLM. The handler runs the full input pipeline (normalization, heuristics, session layer, classifier, and configured provider/modules).

For external providers (claude / openai), decisions are module-driven: flag/block require module-attributed modules_triggered entries; otherwise the decision resolves to pass.

Payload size

Requests with text length ≥ 20 000 characters receive 413 with detail Input text too large.

Request

Prop

Type

Response

Prop

Type

Examples

Input guard
curl -s -X POST http://localhost:8000/v1/guard/input \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello"}'
httpx client
import httpx

r = httpx.post(
    "http://localhost:8000/v1/guard/input",
    json={"text": "Hello"},
)
print(r.json())

See also