# `PhoenixAI.Guardrails.Request`
[🔗](https://github.com/franciscpd/phoenix-ai/blob/main/lib/phoenix_ai/guardrails/request.ex#L1)

Context object that flows through the guardrails pipeline.

Carries the messages about to be sent to the AI provider,
along with identity, tool call data, and pipeline state.

# `t`

```elixir
@type t() :: %PhoenixAI.Guardrails.Request{
  assigns: map(),
  conversation_id: String.t() | nil,
  halted: boolean(),
  messages: [PhoenixAI.Message.t()],
  metadata: map(),
  tool_calls: [PhoenixAI.ToolCall.t()] | nil,
  user_id: String.t() | nil,
  violation: PhoenixAI.Guardrails.PolicyViolation.t() | nil
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
