Agent SDK — agent_log and agent_error events are now persisted and visible on call detail
Agent SDK — agent_log and agent_error events are now persisted and visible on call detail
Two new event types are now first-class on Atoms calls:
Where they show up:
- Persisted via the Atoms relay into the call event log.
- Rendered on the Call Detail page next to the transcript timeline, so you can see exactly when each log / error fired in the conversation.
- Available via the existing webhook subscriptions if you’re consuming events programmatically.
Migration: no action — additive. Emit agent_log / agent_error from your agent code to start using them.
Python SDK — SmallestAI(api_key=...) (was token=...) and SMALLEST_API_KEY env var
Python SDK — SmallestAI(api_key=...) (was token=...) and SMALLEST_API_KEY env var
The SmallestAI and AsyncSmallestAI constructors in the Python SDK now take api_key= (was token=) and default to reading SMALLEST_API_KEY from the environment (was SMALLEST_AI_TOKEN). This aligns the auto-generated client with everything else in the ecosystem:
- The hand-written helpers (
smallestai.atoms.helpers.{call,campaign,audience,kb}) already takeapi_key=and readSMALLEST_API_KEY. - Every cookbook
.env.sampleexportsSMALLEST_API_KEY. - The dashboard at app.smallest.ai/dashboard/api-keys calls the value an “API key”.
Before:
After:
Breaking change. SmallestAI(token=…) and SMALLEST_AI_TOKEN are no longer accepted. Both names shipped only in 4.4.x and were undocumented in any user-facing page, so they’re dropped without a deprecation window. Any in-flight 4.4.x code calling SmallestAI(token=…) needs a one-line rename to api_key=….
Spec update: fern/apis/unified/generators.yml — the bearer-auth token.env value is now SMALLEST_API_KEY, so the next Python SDK regen produces a client with the new kwarg/env var natively (the SDK PR is a hand-patch on top of the Fern-generated client.py that lands the change immediately as 4.4.5).
Realtime Agent — per-call prompt variables
Realtime Agent — per-call prompt variables
The Realtime Agent WebSocket now accepts a variables query parameter — a URL-encoded JSON object that overrides the agent’s defaultVariables for that session, matching the variables field already exposed on the Start Outbound Call REST endpoint. Each connection scopes its own variables.
Reserved keys (call_id, conversation_type, user_number, agent_number) are stripped server-side.

