Reference

Models Reference

ValidateRequest, ValidateResponse, and SDK data models.

Models Reference

Overview

Pydantic models for AgentTrust SDK request and response types. Import from agentrust_sdk.models or top-level agentrust_sdk.

Why It Matters

Type-safe models ensure correct validation payloads and enable IDE autocompletion.

Prerequisites

pip install agentrust-sdk

Step-by-Step Guide

Request types

from agentrust_sdk import ValidateRequest
from agentrust_sdk.models import ToolCall

# ValidateRequest fields (via client.validate kwargs):
# agent_id: str
# user: str
# input: str
# output: dict
# framework: str = "Custom"
# version: str = "1.0.0"
# parent_envelope_id: str | None = None
# tool_calls: list[ToolCall] = []
# model: str | None = None
# latency_ms: float | None = None
# tokens_in: int | None = None
# tokens_out: int | None = None

Response types

from agentrust_sdk import ValidateResponse
from agentrust_sdk.models import (
    ValidationResult,
    RiskResult,
    DecisionResult,
)

# ValidateResponse fields:
# envelope_id: str
# validation: ValidationResult  # .score, .checks
# confidence: ConfidenceResult  # .score (Developer+)
# risk: RiskResult              # .tier, .score (Developer+)
# decision: DecisionResult      # .outcome, .reasons
# latency_ms: float
# governance_disclosure: str | None

ToolCall

ToolCall(
    name="sql_query",
    input={"query": "SELECT ..."},
    output={"rows": 5},
)

Decision outcomes

approve | retry | request_evidence | escalate | block | pending

Risk tiers

low | medium | high | critical

Frameworks (gateway enum)

LangGraph | CrewAI | OpenAI Agents | Claude Agents | MCP | Custom | REST

Examples

from agentrust_sdk import AgentTrustClient

with AgentTrustClient() as client:
    result = client.validate(
        agent_id="test",
        user="alice",
        input="hello",
        output={"answer": "hi"},
    )
    assert result.decision.outcome in (
        "approve", "retry", "request_evidence",
        "escalate", "block", "pending",
    )