Agent API — 31 functions
Controls a currently logged-in agent session: pause, dial, transfer, record, refresh, and related screen actions. See Agent API catalog.
VICIdial provides two independent PHP entry points. Pick by what the call affects, not by preferred output format.
Agent API — 31 functions
Controls a currently logged-in agent session: pause, dial, transfer, record, refresh, and related screen actions. See Agent API catalog.
Non-Agent API — 58 functions
Manages and reports on leads, users, phones, lists, campaigns, DIDs, DNC entries, recordings, and system state. See Non-Agent API catalog.
| Surface | Base route | Session required |
|---|---|---|
| Agent API | https://{host}/agc/api.php | Target agent_user must normally be logged in |
| Non-Agent API | https://{host}/vicidial/non_agent_api.php | No agent-screen session; permissions vary by function |
Common request fields:
function: exact function name from a catalog.user and pass: credentials for an API-enabled vicidial_users account. These are API operator credentials, not necessarily the affected agent.source: short caller identifier, maximum 20 characters where documented. Give each integration a stable value such as dialdozer-mcp.agent_user: target VICIdial user where required.curl --fail-with-body --get "${VICIDIAL_URL}/agc/api.php" \ --data-urlencode "function=version"
curl --fail-with-body --get "${VICIDIAL_URL}/vicidial/non_agent_api.php" \ --data-urlencode "function=version"curl --get --data-urlencode over hand-built URLs. Names, comments, dates, and + characters require correct encoding.pass, restrict log access, and use a dedicated least-privilege API user.ERROR: auth USER DOES NOT HAVE PERMISSION TO USE THIS FUNCTION.Do not infer success from HTTP status alone. Inspect the response body:
| Prefix | Meaning | Agent action |
|---|---|---|
SUCCESS: | Command accepted or mutation completed | Parse remaining text only if task needs returned identifiers |
ERROR: | Validation, auth, permission, state, or lookup failure | Stop; surface complete line without secrets |
NOTICE: | Per-item or informational result | Continue or aggregate according to task |
VERSION: | Version probe result | Treat as successful connectivity check |
Many report-style Non-Agent calls accept stage=pipe, csv, tab, or json; support is function-specific. pipe is commonly the default. Request stage=json only where the source reference lists it, and never assume every function returns JSON.
ERROR: and record completed steps for safe retry.See task recipes for executable patterns.
These pages are a navigation layer, not a replacement for field-level documentation. Consult the repository sources before production use:
docs/AGENT_API.txt — updated 2025-08-30 in the checked-in document.docs/NON-AGENT_API.txt — updated 2026-05-19 in the checked-in document.