# SAM Suite — agent integration > SAM is a guardrail layer for autonomous agents: a hosted REST suite your agent calls over plain HTTP/JSON with `Authorization: Bearer `. No SDK — any runtime that can send an HTTP request works (OpenAI, Cursor/MCP, custom). SAM is non-custodial: it never approves or holds your money, it only enforces the spend dials you set; funds move on your own rails. Auth: `Authorization: Bearer `, scoped per tenant + permission server-side (a smuggled `tenant_id` in a body is ignored). `GET /healthz` → liveness + honest leg accounting (`legs_mounted` / `legs_missing`). ## Start here - [Agent Integration Contract (full)](/llms-full.txt): the one page to integrate — leg catalog, required perms, enums, envelopes, idempotency, mandate matching. - [Connect an agent (web page)](/developers): the same surface, human-readable. - [Health](/healthz): liveness + legs_mounted / legs_missing. ## Legs (HTTP path prefixes) - SAMShield `/shield` — scan untrusted content for prompt-injection / policy risk - SAMHandler `/handler` — provision agent identities (+ seat payment) - SAMScope `/scope` — issue short-lived scoped credentials - SAMcypher `/cypher` — governed payments / transfers / subscriptions - sam-license `/license` — validate a SAMSerum / SAMShredder license (gate-on-use) ## Examples (runnable, no SDK) - [reference_client.py](/agent-examples/reference_client.py) — stdlib urllib only — the no-SDK proof - [raw_http_curl.sh](/agent-examples/raw_http_curl.sh) — curl — any shell-capable agent - [openai_tool_calling.py](/agent-examples/openai_tool_calling.py) — OpenAI function/tool-calling (schema + dispatch) - [mcp_tool.py](/agent-examples/mcp_tool.py) — MCP server (Cursor / Claude Desktop) — the MCP→HTTP bridge