POST /v1/agents/{agent_id}/validate runs every check a publish runs and publishes nothing.
It returns {"errors": [...], "warnings": [...]}. Errors block a publish; warnings do
not. Publishing returns the same warnings on success. Needs the editor role.
When checks run
Most checks also run on every create andPATCH, so a stored draft is never arbitrarily
broken. These run only on validate, publish and per-call resolution:
- A provider key for every provider the agent needs.
- The operation trees of attached and hook tools, against this agent’s variables.
- What the agent is assigned to (phone numbers, streams, triggers, batches).
- Warnings about inactive integrations and empty FAQs.
422 naming the field — they can never be
stored, so validate never reports them: out-of-range values, unknown fields, a bad IANA
timezone, and keypad_input, voicemail_detection or vision_input.screenshare enabled on
a channel or pipeline that cannot use them.
The error envelope
Failures are a400 in the standard error envelope:
The SDKs expose the list as
error.errors.
Common refusals
Messages are abbreviated; search for the quoted fragment.Models
Voice, avatar, language
Prompt, greeting and variables
Full rules on variables.What the agent is assigned to
Checked on publish and rollback. A batch with its own pinned cast and a disabled trigger are not checked here.Tools, MCP servers, FAQs, tasks
Tool operation-tree errors are described on templating and data.
Handoffs
See handoffs.
Recording, analysis, memory, vision
See recording, call analysis,
conversation memory, vision.
Provider keys
no Deepgram API key for this workspace - add one under Provider keys — every provider the agent
uses needs a key: LLM, STT, TTS, realtime, avatar, noise cancellation (while enabled), every
fallback, the analysis model if set, and every attached task’s model.
Warnings
Next
Versions
Publishing and rollback.
Errors
The error envelope and status codes.