Get Agent
Authentication
Enter your API key with the Bearer prefix, e.g. ‘Bearer sk_…’.
Path parameters
Response
Prefixed wire identifier (agent_<26 char Crockford base32>).
ADR 0015 Cluster 1 hard-break: this is the sole customer-facing
identifier. URL paths accept only this prefixed form; legacy
UUID path parameters are rejected with 404 as of Cluster 1.
ISO 639-1 code, e.g. ‘en’.
LLM backend the worker constructs for this agent. Null
means “use the platform default” (resolved server-side at
dispatch; today: Speechify Kimi K2.6). openai and
speechify pair with a model from the allowed (provider,
model) table. custom points the worker at any OpenAI /
vLLM-compatible endpoint - see llm_base_url,
llm_api_key, llm_extra_body.
Chat model slug. Null means “use the platform default”
(resolved server-side at dispatch; today: Speechify Kimi
K2.6). For openai / speechify it must be a slug from
the allowed table; for custom it is free-form (the
customer’s endpoint owns the namespace).
When true, the <speechify-agent> web component can start a
session against this agent without an API key, subject to
the allowed_origins allowlist. When false (default), only
authenticated callers can start sessions.
Exact Origin header values (e.g. https://example.com)
that are allowed to start public sessions. Empty array
with is_public = true means any origin is accepted —
intended for open demos. No subdomain wildcards.
When true, the post-call extractor writes durable facts about
each caller; at conversation-start the retriever injects the
top matches into the system prompt via the {{memory}}
template variable. Defaults to false.
Maximum age (in days) of memories kept and surfaced to the retriever. 0 disables the cap. Defaults to 90.
Answering Machine Detection routing config for outbound voice
agents. AMD classifies the called party’s first ~3-15 seconds of
audio into one of LiveKit’s categories (human, uncertain,
machine-vm, machine-ivr, machine-unavailable) and dispatches per
category to the configured action. Stored on the agent row;
flowed onto outbound dispatch metadata under the amd key.
Rationale: see ADR 0008 (docs/adrs/0008-amd-as-session-routing-primitive.md).
When true, every conversation produces a room-composite OGG egress uploaded to the recordings bucket. Defaults FALSE for new agents (privacy by default).
Per-agent kill switch for the IVR-memory cache lookup performed at AMD time. Defaults TRUE so existing navigator agents keep their always-on behaviour. Set to false to skip the cache and force every outbound dial on this agent to start cold (LLM-driven navigation only).
Custom OpenAI/vLLM-compatible endpoint base URL. Non-null
only when llm_provider is custom.
Whether a bearer key is stored for the custom endpoint. The key itself is write-only and never returned.
JSON object forwarded verbatim to the custom endpoint as
the chat.completions extra_body (reasoning / sampling
knobs). Non-null only when llm_provider is custom.
Customer-editable appearance + behaviour payload for the
embedded <speechify-agent> pill: button text, avatar style,
orb colours, terms-and-conditions markdown, transcript display.
Every field is optional - empty fields fall back to the
widget’s compile-time defaults.
Optional per-agent hostname allowlist enforced at
session-creation time. When set and non-empty, the
Origin header’s hostname must be an exact member.
Bare hostnames only — no scheme, port, or path. Up to
10 entries. Omit (null) or leave empty for no
enforcement (public agents accept any hostname).
Customer-facing post-call webhook target. When non-empty, the control plane POSTs a signed payload (transcript + evals + extractors + recording URL) once the conversation completes. Empty disables the fire path.
True when an HMAC-SHA256 webhook secret is configured. The secret itself is write-only — supplied on PATCH and never echoed back on reads.
Per-agent override for the voice’s default speaking rate (0.5 = half speed, 2.0 = double, 1.0 = neutral). Null means “use the voice’s default rate”.
Per-agent post-process pitch-preserving time-stretch applied to the synthesized audio in the worker before publishing. Distinct from tts_speaking_rate: speaking_rate biases the model’s generation prosody (clipped syllables, pauses preserved); playback_rate uniformly stretches the rendered waveform (every sample, every pause, every breath). Range 0.5..3.0; null means no post-process.
How long the agent waits after the caller stops talking
before generating a reply (the worker’s endpointing
min_delay on the VAD path). Range 0.0..5.0. Null means
“use the stack default” — Deepgram VAD: 0.5s, or 0.75s
when navigator_mode=true. Ignored on Flux + Whisper
STT, which use semantic turn detection instead.
Optional override for the per-agent silence-tolerance before the worker tears the call down. Null means use the platform default.
Optional pre-mixed ambient bed (e.g. office, cafe). Null disables background noise.
Volume of the background-noise bed. Null disables.
Optional override for the streaming-STT stack this agent
dispatches with. Null means use the worker’s default
stack (today: whisper-v3, Baseten Whisper Large V3). Pick
whisper-v3 to pin Whisper Large V3 explicitly, flux to
opt into Deepgram Flux’s semantic end-of-turn detection, or
gpt-realtime-whisper for OpenAI’s streaming Whisper-class
STT.