Best for
- Use this CLI to manage and reason about a 3CX V20+ phone system from scripts or an agent: provisioning extensions in bulk, auditing the config graph for broken routing, diffing config over time, rolling up queue and age…
mvanhorn/printing-press-library/library/social-and-messaging/3cx-xapi/SKILL.md
Every 3CX Configuration API (XAPI) object in one Go binary, with a local mirror of your whole PBX, offline search, config diffing, and cross-entity auditing no 3CX tool has. Trigger phrases: `audit my 3cx config`, `what changed on the pbx`, `provision 3cx extensions`, `queue sla report 3cx`, `trace extension 214`, `use 3cx-xapi`, `run 3cx-xapi`.
Decision brief
Every 3CX Configuration API (XAPI) object in one Go binary, with a local mirror of your whole PBX, offline search, config diffing, and cross-entity auditing no 3CX tool has. Trigger phrases: `audit my 3cx config`, `what changed on the pbx`, `provision 3cx extensions`, `queue sla report 3cx`, `trace extension 214`, `use 3cx-xapi`, `run 3cx-xapi`.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/mvanhorn/printing-press-library --skill "library/social-and-messaging/3cx-xapi"Inspect the Agent Skill "pp-3cx-xapi" from https://github.com/mvanhorn/printing-press-library/blob/ea0c3cd89072bf822759f559a7026a33adbf8eae/library/social-and-messaging/3cx-xapi/SKILL.md at commit ea0c3cd89072bf822759f559a7026a33adbf8eae. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
One cross-queue table of performance, abandoned calls, and SLA breaches for the week.
Authentication is OAuth2 client-credentials. Create an API client in the 3CX Web Client under Admin Integrations API, enable the 3CX Configuration API checkbox, and assign the Service Principal the System Owner role (System Administrator causes 403 on call history and several re…
This skill drives the 3cx-xapi-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
Use this CLI to manage and reason about a 3CX V20+ phone system from scripts or an agent: provisioning extensions in bulk, auditing the config graph for broken routing, diffing config over time, rolling up queue and agent performance, and tracing how calls reach an extension. It…
Do not use this CLI for: - Do not use this CLI for real-time call control (answer, transfer, or originate a live call); that is the separate 3CX Call Control API, not the Configuration API. - Do not use it to place or receive calls or as a softphone. - Do not use it for end-user…
Permission review
The documentation asks the agent to run terminal commands or scripts.
npx -y @mvanhorn/printing-press-library install 3cx-xapi --cli-onlyThe documentation asks the agent to run terminal commands or scripts.
go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/3cx-xapi/cmd/3cx-xapi-pp-cli@latestThe documentation asks the agent to read local files, directories, or repositories.
`3cx-xapi-pp-cli aisettings delete-open-ai-file` — Invoke action DeleteOpenAiFileThe documentation asks the agent to create, modify, or delete local files.
`3cx-xapi-pp-cli aisettings delete-open-ai-file` — Invoke action DeleteOpenAiFileThe documentation asks the agent to create, modify, or delete local files.
`3cx-xapi-pp-cli aisettings delete-vector-store-file` — Invoke action DeleteVectorStoreFileThe documentation includes sending, uploading, or posting data to a remote service.
| `webhook:<url>` | POST the output body to the URL (`application/json` or `application/x-ndjson` when `--compact`) |The documentation includes network, browsing, or remote request actions.
| `webhook:<url>` | POST the output body to the URL (`application/json` or `application/x-ndjson` when `--compact`) |Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 85/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 1,883 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
This skill drives the 3cx-xapi-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
$HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:
npx -y @mvanhorn/printing-press-library install 3cx-xapi --cli-only
3cx-xapi-pp-cli --version$PATH for the agent/runtime that will invoke this skill.If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.4 or newer). This installs into $GOPATH/bin (default $HOME/go/bin), so add that directory to $PATH instead:
go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/3cx-xapi/cmd/3cx-xapi-pp-cli@latest
If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
Covers the full 3CX V20+ Configuration API: users, groups, ring groups, queues, IVRs, trunks, DIDs, in/outbound rules, reporting, backups, security, and integrations. Beyond CRUD, it mirrors the entire config graph into local SQLite so you can search it offline, diff it over time, audit it for dangling references, roll up queue and agent performance, and trace exactly what routes to an extension.
Use this CLI to manage and reason about a 3CX V20+ phone system from scripts or an agent: provisioning extensions in bulk, auditing the config graph for broken routing, diffing config over time, rolling up queue and agent performance, and tracing how calls reach an extension. It is ideal when you want offline, queryable, agent-native access to a PBX whose web console is slow and siloed.
Do not use this CLI for:
These capabilities aren't available in any other tool for this API.
audit — Flag every ring group, queue, inbound/outbound rule, and IVR destination that points at a deleted, disabled, or non-existent extension or DID.
Reach for this to catch broken call routing before users do, surfacing dangling references the 3CX console cannot detect.
3cx-xapi-pp-cli audit --agent
diff — Capture the full PBX config to a local snapshot, then show exactly what changed between two points in time or two tenants.
Reach for this for change management, proving what changed, when, and by how much across the whole config.
3cx-xapi-pp-cli diff yesterday now --agent
posture — Consolidate blocklist, blacklisted numbers, anti-hacking settings, firewall state, failed-auth events, and the admin audit log into one attack-surface report.
Reach for this for a one-shot security review instead of hunting across Security and Logs screens.
3cx-xapi-pp-cli posture --agent
trace — For one extension, show every inbound rule, ring group, queue, DID, and forwarding profile that routes to it.
Reach for this to answer why an extension is not ringing by seeing every path that reaches it.
3cx-xapi-pp-cli trace 214 --agent
provision — Idempotently create extensions and users from a CSV, assigning groups and roles, with a dry-run plan and typed exit codes.
Reach for this to onboard a whole tenant in one command instead of clicking the web console per extension.
3cx-xapi-pp-cli provision --file users.csv --dry-run
qrollup — One cross-queue table joining queue performance, agent-in-queue stats, abandoned calls, and SLA breaches over a time window.
Reach for this to compare queues and weeks at a glance instead of opening one slow report screen per queue.
3cx-xapi-pp-cli qrollup --since 7d --agent
search — Instant full-text search across the mirrored config graph (users, groups, ring groups, queues, trunks, DIDs, contacts) by number, name, email, or extension.
Reach for this when you know a number or name and need the object fast, across every entity type at once.
3cx-xapi-pp-cli search reception --type users --data-source local --agent
changed — A single time-windowed feed merging activity log, event log, active calls, and system status into the state of the PBX now or since a given time.
Reach for this as the first command when triaging something wrong right now on a PBX.
3cx-xapi-pp-cli changed --since 2h --agent
active-calls — Manage active calls
3cx-xapi-pp-cli active-calls — Get entities from ActiveCallsactive-calls-id — Manage active calls id
3cx-xapi-pp-cli active-calls-id <Id> — Invoke action DropCallactivity-log — Manage activity log
3cx-xapi-pp-cli activity-log get-filter — Invoke function GetFilter3cx-xapi-pp-cli activity-log get-logs — Invoke function GetLogs3cx-xapi-pp-cli activity-log purge-logs — Invoke action PurgeLogsaisettings — Manage aisettings
3cx-xapi-pp-cli aisettings add-vector-store-files — Invoke action AddVectorStoreFiles3cx-xapi-pp-cli aisettings create-vector-store — Invoke action CreateVectorStore3cx-xapi-pp-cli aisettings delete-open-ai-file — Invoke action DeleteOpenAiFile3cx-xapi-pp-cli aisettings delete-vector-store — Invoke action DeleteVectorStore3cx-xapi-pp-cli aisettings delete-vector-store-file — Invoke action DeleteVectorStoreFile3cx-xapi-pp-cli aisettings get — Get AISettings3cx-xapi-pp-cli aisettings get-airesources — Invoke function GetAIResources3cx-xapi-pp-cli aisettings get-aitemplate-contents — Invoke function GetAITemplateContents3cx-xapi-pp-cli aisettings get-vector-store — Invoke function GetVectorStore3cx-xapi-pp-cli aisettings get-vector-store-files — Invoke function GetVectorStoreFiles3cx-xapi-pp-cli aisettings get-vector-stores — Invoke function GetVectorStores3cx-xapi-pp-cli aisettings update — Update AISettings3cx-xapi-pp-cli aisettings update-vector-store — Invoke action UpdateVectorStoreamazon-integration-settings — Manage amazon integration settings
3cx-xapi-pp-cli amazon-integration-settings generate-iam-policy-file — Invoke function GenerateIamPolicyFile3cx-xapi-pp-cli amazon-integration-settings get — Get AmazonIntegrationSettings3cx-xapi-pp-cli amazon-integration-settings update — Update AmazonIntegrationSettingsanti-hacking-settings — Manage anti hacking settings
3cx-xapi-pp-cli anti-hacking-settings get — Get AntiHackingSettings3cx-xapi-pp-cli anti-hacking-settings update — Update AntiHackingSettingsbackups — Manage backups
3cx-xapi-pp-cli backups backup — Invoke action Backup3cx-xapi-pp-cli backups get-can-create — Invoke function GetCanCreateBackup3cx-xapi-pp-cli backups get-failover-scripts — Invoke function GetFailoverScripts3cx-xapi-pp-cli backups get-failover-settings — Invoke function GetBackupFailoverSettings3cx-xapi-pp-cli backups get-local-size — Invoke function GetLocalBackupSize3cx-xapi-pp-cli backups get-repository-settings — Invoke function GetBackupRepositorySettings3cx-xapi-pp-cli backups get-restore-settings — Invoke function GetRestoreSettings3cx-xapi-pp-cli backups get-settings — Invoke function GetBackupSettings3cx-xapi-pp-cli backups list — Get entities from Backups3cx-xapi-pp-cli backups purge-local — Invoke action PurgeLocalBackups3cx-xapi-pp-cli backups set-failover-settings — Invoke action SetBackupFailoverSettings3cx-xapi-pp-cli backups set-repository-settings — Invoke action SetBackupRepositorySettings3cx-xapi-pp-cli backups set-restore-settings — Invoke action SetRestoreSettings3cx-xapi-pp-cli backups set-settings — Invoke action SetBackupSettingsbackups-file-name — Manage backups file name
3cx-xapi-pp-cli backups-file-name delete-backups — Delete entity from Backups3cx-xapi-pp-cli backups-file-name get-backup-extras — Invoke function GetBackupExtras3cx-xapi-pp-cli backups-file-name restore — Invoke action Restoreblack-list-numbers — Manage black list numbers
3cx-xapi-pp-cli black-list-numbers bulk-numbers-delete — Invoke action BulkNumbersDelete3cx-xapi-pp-cli black-list-numbers create — Add new entity to BlackListNumbers3cx-xapi-pp-cli black-list-numbers list — Get entities from BlackListNumbersblack-list-numbers-id — Manage black list numbers id
3cx-xapi-pp-cli black-list-numbers-id delete-black-list-number — Delete entity from BlackListNumbers3cx-xapi-pp-cli black-list-numbers-id get-black-list-number — Get entity from BlackListNumbers by key3cx-xapi-pp-cli black-list-numbers-id update-black-list-number — Update entity in BlackListNumbersblocklist — Manage blocklist
3cx-xapi-pp-cli blocklist bulk-ips-delete — Invoke action BulkIpsDelete3cx-xapi-pp-cli blocklist create-addr — Add new entity to Blocklist3cx-xapi-pp-cli blocklist list-addr — Get entities from Blocklistblocklist-id — Manage blocklist id
3cx-xapi-pp-cli blocklist-id delete-blocklist-addr — Delete entity from Blocklist3cx-xapi-pp-cli blocklist-id get-blocklist-addr — Get entity from Blocklist by key3cx-xapi-pp-cli blocklist-id update-blocklist-addr — Update entity in Blocklistcall-cost-settings — Manage call cost settings
3cx-xapi-pp-cli call-cost-settings export-call-costs — Invoke function ExportCallCosts3cx-xapi-pp-cli call-cost-settings list — Get entities from CallCostSettings3cx-xapi-pp-cli call-cost-settings update-cost — Invoke action UpdateCostcall-flow-apps — Manage call flow apps
3cx-xapi-pp-cli call-flow-apps create — Add new entity to CallFlowApps3cx-xapi-pp-cli call-flow-apps list — Get entities from CallFlowAppscall-flow-apps-id — Manage call flow apps id
3cx-xapi-pp-cli call-flow-apps-id delete-call-flow-app — Delete entity from CallFlowApps3cx-xapi-pp-cli call-flow-apps-id delete-file — Invoke action DeleteFile3cx-xapi-pp-cli call-flow-apps-id get-call-flow-app — Get entity from CallFlowApps by key3cx-xapi-pp-cli call-flow-apps-id get-files — Invoke function GetFiles3cx-xapi-pp-cli call-flow-apps-id update-call-flow-app — Update entity in CallFlowAppscall-flow-scripts — Manage call flow scripts
3cx-xapi-pp-cli call-flow-scripts — Get entities from CallFlowScriptscall-history-view — Manage call history view
3cx-xapi-pp-cli call-history-view download-call-history — Invoke function DownloadCallHistory3cx-xapi-pp-cli call-history-view list — Get entities from CallHistoryViewcall-parking-settings — Manage call parking settings
3cx-xapi-pp-cli call-parking-settings get — Get CallParkingSettings3cx-xapi-pp-cli call-parking-settings update — Update CallParkingSettingscall-types-settings — Manage call types settings
3cx-xapi-pp-cli call-types-settings get — Get CallTypesSettings3cx-xapi-pp-cli call-types-settings update — Update CallTypesSettingscdrsettings — Manage cdrsettings
3cx-xapi-pp-cli cdrsettings get — Get CDRSettings3cx-xapi-pp-cli cdrsettings update — Update CDRSettingschat-history-view — Manage chat history view
3cx-xapi-pp-cli chat-history-view download-chat-history — Invoke function DownloadChatHistory3cx-xapi-pp-cli chat-history-view list — Get entities from ChatHistoryViewchat-log-settings — Manage chat log settings
3cx-xapi-pp-cli chat-log-settings get — Get ChatLogSettings3cx-xapi-pp-cli chat-log-settings update — Update ChatLogSettingschat-messages-history-view — Manage chat messages history view
3cx-xapi-pp-cli chat-messages-history-view download-chat-messages-history — Invoke function DownloadChatMessagesHistory3cx-xapi-pp-cli chat-messages-history-view list — Get entities from ChatMessagesHistoryViewcodecs-settings — Manage codecs settings
3cx-xapi-pp-cli codecs-settings get — Get CodecsSettings3cx-xapi-pp-cli codecs-settings update — Update CodecsSettingsconference-settings — Manage conference settings
3cx-xapi-pp-cli conference-settings delete-api-key — Invoke action DeleteApiKey3cx-xapi-pp-cli conference-settings generate-api-key — Invoke function GenerateApiKey3cx-xapi-pp-cli conference-settings get — Get ConferenceSettings3cx-xapi-pp-cli conference-settings get-mcurequest-status — Invoke function GetMCURequestStatus3cx-xapi-pp-cli conference-settings get-mcurow — Invoke function GetMCURow3cx-xapi-pp-cli conference-settings get-mcurows — Invoke function GetMCURows3cx-xapi-pp-cli conference-settings get-onboard-mcu-data — Invoke function GetOnboardMcuData3cx-xapi-pp-cli conference-settings get-onboard-meetings — Invoke function GetOnboardMeetings3cx-xapi-pp-cli conference-settings get-web-meeting-zones — Invoke function GetWebMeetingZones3cx-xapi-pp-cli conference-settings update — Update ConferenceSettings3cx-xapi-pp-cli conference-settings update-mcurequest-status — Invoke action UpdateMCURequestStatusconsole-restrictions — Manage console restrictions
3cx-xapi-pp-cli console-restrictions get — Get ConsoleRestrictions3cx-xapi-pp-cli console-restrictions update — Update ConsoleRestrictionscontacts — Manage contacts
3cx-xapi-pp-cli contacts create — Add new entity to Contacts3cx-xapi-pp-cli contacts create-by-number — Invoke action CreateContactByNumber3cx-xapi-pp-cli contacts delete-by-id — Invoke action DeleteContactsById3cx-xapi-pp-cli contacts delete-by-type — Invoke action DeleteContactsByType3cx-xapi-pp-cli contacts delete-department-by-type — Invoke action DeleteDepartmentContactsByType3cx-xapi-pp-cli contacts delete-personal-by-type — Invoke action DeletePersonalContactsByType3cx-xapi-pp-cli contacts get-by-number — Invoke function GetContactsByNumber3cx-xapi-pp-cli contacts get-dir-search-settings — Invoke function GetDirSearchSettings3cx-xapi-pp-cli contacts list — Get entities from Contacts3cx-xapi-pp-cli contacts set-dir-search-settings — Invoke action SetDirSearchSettingscontacts-id — Manage contacts id
3cx-xapi-pp-cli contacts-id delete-contact — Delete entity from Contacts3cx-xapi-pp-cli contacts-id get-contact — Get entity from Contacts by key3cx-xapi-pp-cli contacts-id update-contact — Update entity in Contactscountries — Manage countries
3cx-xapi-pp-cli countries — Get entities from Countriescountry-codes — Manage country codes
3cx-xapi-pp-cli country-codes get — Get CountryCodes3cx-xapi-pp-cli country-codes update — Update CountryCodescrm-integration — Manage crm integration
3cx-xapi-pp-cli crm-integration delete-crm-contacts — Invoke action DeleteCrmContacts3cx-xapi-pp-cli crm-integration get — Get CrmIntegration3cx-xapi-pp-cli crm-integration get-crm-template-source — Invoke function GetCrmTemplateSource3cx-xapi-pp-cli crm-integration get-oauth — Invoke function GetOAuth3cx-xapi-pp-cli crm-integration set-oauth-state — Invoke action SetOAuthState3cx-xapi-pp-cli crm-integration test — Invoke action Test3cx-xapi-pp-cli crm-integration update — Update CrmIntegrationcrm-templates — Manage crm templates
3cx-xapi-pp-cli crm-templates — Invoke function GeCrmtTemplatescrm-templates-name — Manage crm templates name
3cx-xapi-pp-cli crm-templates-name delete-crm-template — Delete entity from CrmTemplates3cx-xapi-pp-cli crm-templates-name get-crm-template — Get entity from CrmTemplates by keycustom-prompts — Manage custom prompts
3cx-xapi-pp-cli custom-prompts list — Get entities from CustomPrompts3cx-xapi-pp-cli custom-prompts make-call-record — Invoke action MakeCallRecordCustomPromptcustom-prompts-filename — Manage custom prompts filename
3cx-xapi-pp-cli custom-prompts-filename <Filename> — Delete entity from CustomPromptsdata-connector-settings — Manage data connector settings
3cx-xapi-pp-cli data-connector-settings get — Get DataConnectorSettings3cx-xapi-pp-cli data-connector-settings synchronize — Invoke action Synchronize3cx-xapi-pp-cli data-connector-settings test-data-connector — Invoke action TestDataConnector3cx-xapi-pp-cli data-connector-settings update — Update DataConnectorSettingsdefs — Manage defs
3cx-xapi-pp-cli defs get — Get Defs3cx-xapi-pp-cli defs get-license-parameters — Invoke function GetLicenseParameters3cx-xapi-pp-cli defs get-routes — Invoke action GetRoutes3cx-xapi-pp-cli defs get-system-parameters — Invoke function GetSystemParameters3cx-xapi-pp-cli defs has-system-owner — Invoke function HasSystemOwner3cx-xapi-pp-cli defs list-codecs — Get Codecs from Defs3cx-xapi-pp-cli defs list-gateway-parameter-values — Get GatewayParameterValues from Defs3cx-xapi-pp-cli defs list-gateway-parameters — Get GatewayParameters from Defs3cx-xapi-pp-cli defs list-time-zones — Get TimeZones from Defs3cx-xapi-pp-cli defs send-email — Invoke action SendEmaildevice-infos — Manage device infos
3cx-xapi-pp-cli device-infos — Get entities from DeviceInfosdevice-infos-id — Manage device infos id
3cx-xapi-pp-cli device-infos-id delete-device-info — Delete entity from DeviceInfos3cx-xapi-pp-cli device-infos-id get-device-info — Get entity from DeviceInfos by key3cx-xapi-pp-cli device-infos-id provision — Invoke action Provisiondial-code-settings — Manage dial code settings
3cx-xapi-pp-cli dial-code-settings get — Get DialCodeSettings3cx-xapi-pp-cli dial-code-settings update — Update DialCodeSettingsdid-numbers — Manage did numbers
3cx-xapi-pp-cli did-numbers — Get entities from DidNumbersdnproperties — Manage dnproperties
3cx-xapi-pp-cli dnproperties create-dnproperty — Invoke action CreateDNProperty3cx-xapi-pp-cli dnproperties delete-dnproperty — Invoke action DeleteDNProperty3cx-xapi-pp-cli dnproperties get-dnproperty-by-name — Invoke function GetDNPropertyByName3cx-xapi-pp-cli dnproperties get-properties-by-dn — Invoke function GetPropertiesByDn3cx-xapi-pp-cli dnproperties update-dnproperty — Invoke action UpdateDNPropertye164-settings — Manage e164 settings
3cx-xapi-pp-cli e164-settings get — Get E164Settings3cx-xapi-pp-cli e164-settings update — Update E164Settingsemail-template — Manage email template
3cx-xapi-pp-cli email-template — Get entities from EmailTemplateemail-template-template-path — Manage email template template path
3cx-xapi-pp-cli email-template-template-path get-email-template — Get entity from EmailTemplate by key3cx-xapi-pp-cli email-template-template-path set-default — Invoke action SetDefault3cx-xapi-pp-cli email-template-template-path update-email-template — Update entity in EmailTemplateemergency-geo-locations — Manage emergency geo locations
3cx-xapi-pp-cli emergency-geo-locations list — Get entities from EmergencyGeoLocations3cx-xapi-pp-cli emergency-geo-locations update — Invoke action Updateemergency-notifications-settings — Manage emergency notifications settings
3cx-xapi-pp-cli emergency-notifications-settings get — Get EmergencyNotificationsSettings3cx-xapi-pp-cli emergency-notifications-settings update — Update EmergencyNotificationsSettingsevent-logs — Manage event logs
3cx-xapi-pp-cli event-logs download — Invoke function DownloadEventLogs3cx-xapi-pp-cli event-logs list — Get entities from EventLogs3cx-xapi-pp-cli event-logs purge — Invoke action PurgeEventLogfax — Manage fax
3cx-xapi-pp-cli fax bulk-delete — Invoke action BulkFaxDelete3cx-xapi-pp-cli fax create — Add new entity to Fax3cx-xapi-pp-cli fax init — Invoke function InitFax3cx-xapi-pp-cli fax list — Get entities from Faxfax-id — Manage fax id
3cx-xapi-pp-cli fax-id delete-fax — Delete entity from Fax3cx-xapi-pp-cli fax-id get-fax — Get entity from Fax by key3cx-xapi-pp-cli fax-id update-fax — Update entity in Faxfax-number-number — Manage fax number number
3cx-xapi-pp-cli fax-number-number <Number> — Get entity from Fax by key (Number)fax-server-settings — Manage fax server settings
3cx-xapi-pp-cli fax-server-settings clean-up-fax — Invoke action CleanUpFax3cx-xapi-pp-cli fax-server-settings get — Get FaxServerSettings3cx-xapi-pp-cli fax-server-settings get-fax-files-size — Invoke function GetFaxFilesSize3cx-xapi-pp-cli fax-server-settings update — Update FaxServerSettingsfirewall — Manage firewall
3cx-xapi-pp-cli firewall get-last-result — Invoke function GetLastResult3cx-xapi-pp-cli firewall get-state — Get Firewall3cx-xapi-pp-cli firewall start-check — Invoke action StartCheck3cx-xapi-pp-cli firewall stop-check — Invoke action StopCheckfirmwares — Manage firmwares
3cx-xapi-pp-cli firmwares clean-up — Invoke action CleanUp3cx-xapi-pp-cli firmwares get-state — Invoke function GetFirmwareState3cx-xapi-pp-cli firmwares list — Get entities from Firmwaresfirmwares-id — Manage firmwares id
3cx-xapi-pp-cli firmwares-id delete-firmware — Delete entity from Firmwares3cx-xapi-pp-cli firmwares-id push-firmware-for-phones — Invoke action PushFirmwareForPhonesfxs — Manage fxs
3cx-xapi-pp-cli fxs create — Add new entity to Fxs3cx-xapi-pp-cli fxs list — Get entities from Fxsfxs-mac-address — Manage fxs mac address
3cx-xapi-pp-cli fxs-mac-address delete-fxs — Delete entity from Fxs3cx-xapi-pp-cli fxs-mac-address get-fxs — Get entity from Fxs by key3cx-xapi-pp-cli fxs-mac-address regenerate-web-credentials — Invoke action RegenerateWebCredentials3cx-xapi-pp-cli fxs-mac-address update-fxs — Update entity in Fxsfxs-templates — Manage fxs templates
3cx-xapi-pp-cli fxs-templates create — Add new entity to FxsTemplates3cx-xapi-pp-cli fxs-templates list — Get entities from FxsTemplatesfxs-templates-id — Manage fxs templates id
3cx-xapi-pp-cli fxs-templates-id delete-fxs-template — Delete entity from FxsTemplates3cx-xapi-pp-cli fxs-templates-id get-fxs-template — Get entity from FxsTemplates by key3cx-xapi-pp-cli fxs-templates-id update-fxs-template — Update entity in FxsTemplatesgeneral-settings-for-apps — Manage general settings for apps
3cx-xapi-pp-cli general-settings-for-apps get — Get GeneralSettingsForApps3cx-xapi-pp-cli general-settings-for-apps update — Update GeneralSettingsForAppsgeneral-settings-for-pbx — Manage general settings for pbx
3cx-xapi-pp-cli general-settings-for-pbx get — Get GeneralSettingsForPbx3cx-xapi-pp-cli general-settings-for-pbx update — Update GeneralSettingsForPbxget-client-crm-updates — Manage get client crm updates
3cx-xapi-pp-cli get-client-crm-updates — Invoke functionImport GetClientCrmUpdatesget-directory-info — Manage get directory info
3cx-xapi-pp-cli get-directory-info — Invoke actionImport GetDirectoryInfoget-prompt-set-updates — Manage get prompt set updates
3cx-xapi-pp-cli get-prompt-set-updates — Invoke functionImport GetPromptSetUpdatesget-server-crm-updates — Manage get server crm updates
3cx-xapi-pp-cli get-server-crm-updates — Invoke functionImport GetServerCrmUpdatesget-update-settings — Manage get update settings
3cx-xapi-pp-cli get-update-settings — Invoke functionImport GetUpdateSettingsget-updates — Manage get updates
3cx-xapi-pp-cli get-updates — Invoke functionImport GetUpdatesget-updates-stats — Manage get updates stats
3cx-xapi-pp-cli get-updates-stats — Invoke functionImport GetUpdatesStatsgoogle-settings — Manage google settings
3cx-xapi-pp-cli google-settings get — Get GoogleSettings3cx-xapi-pp-cli google-settings get-google-users — Invoke action GetGoogleUsers3cx-xapi-pp-cli google-settings update — Update GoogleSettingsgroups — Manage groups
3cx-xapi-pp-cli groups create — Add new entity to Groups3cx-xapi-pp-cli groups delete-company-by-id — Invoke action DeleteCompanyById3cx-xapi-pp-cli groups delete-company-by-number — Invoke action DeleteCompanyByNumber3cx-xapi-pp-cli groups link-partner — Invoke action LinkGroupPartner3cx-xapi-pp-cli groups list — Get entities from Groups3cx-xapi-pp-cli groups replace-license-key — Invoke action ReplaceGroupLicenseKey3cx-xapi-pp-cli groups unlink-partner — Invoke action UnlinkGroupPartnergroups-id — Manage groups id
3cx-xapi-pp-cli groups-id delete-group — Delete entity from Groups3cx-xapi-pp-cli groups-id get-group — Get entity from Groups by key3cx-xapi-pp-cli groups-id get-restrictions — Invoke function GetRestrictions3cx-xapi-pp-cli groups-id list-members — Get Members from Groups3cx-xapi-pp-cli groups-id list-rights — Get Rights from Groups3cx-xapi-pp-cli groups-id update-group — Update entity in Groupshas-debian-upgrade — Manage has debian upgrade
3cx-xapi-pp-cli has-debian-upgrade — Invoke functionImport HasDebianUpgradeholidays — Manage holidays
3cx-xapi-pp-cli holidays create — Add new entity to Holidays3cx-xapi-pp-cli holidays list — Get entities from Holidaysholidays-id — Manage holidays id
3cx-xapi-pp-cli holidays-id delete-holiday — Delete entity from Holidays3cx-xapi-pp-cli holidays-id get-holiday — Get entity from Holidays by key3cx-xapi-pp-cli holidays-id update-holiday — Update entity in Holidayshotel-services — Manage hotel services
3cx-xapi-pp-cli hotel-services get — Get HotelServices3cx-xapi-pp-cli hotel-services update — Update HotelServicesinbound-rules — Manage inbound rules
3cx-xapi-pp-cli inbound-rules bulk-delete — Invoke action BulkInboundRulesDelete3cx-xapi-pp-cli inbound-rules create — Add new entity to InboundRules3cx-xapi-pp-cli inbound-rules export-caller-id-rules — Invoke function ExportCallerIdRules3cx-xapi-pp-cli inbound-rules list — Get entities from InboundRulesinbound-rules-id — Manage inbound rules id
3cx-xapi-pp-cli inbound-rules-id delete-inbound-rule — Delete entity from InboundRules3cx-xapi-pp-cli inbound-rules-id get-inbound-rule — Get entity from InboundRules by key3cx-xapi-pp-cli inbound-rules-id update-inbound-rule — Update entity in InboundRulesinstall-updates — Manage install updates
3cx-xapi-pp-cli install-updates — Invoke actionImport InstallUpdateslast-cdr-and-chat-message-timestamp — Manage last cdr and chat message timestamp
3cx-xapi-pp-cli last-cdr-and-chat-message-timestamp — Get entities from LastCdrAndChatMessageTimestamplicense-status — Manage license status
3cx-xapi-pp-cli license-status edit-license-info — Invoke action EditLicenseInfo3cx-xapi-pp-cli license-status get — Get LicenseStatus3cx-xapi-pp-cli license-status link-partner — Invoke action LinkPartner3cx-xapi-pp-cli license-status partner-info — Invoke function PartnerInfo3cx-xapi-pp-cli license-status refresh — Invoke action RefreshLicenseStatus3cx-xapi-pp-cli license-status replace-license-key — Invoke action ReplaceLicenseKey3cx-xapi-pp-cli license-status unlink-partner — Invoke action UnlinkPartnerlogging-settings — Manage logging settings
3cx-xapi-pp-cli logging-settings get — Get LoggingSettings3cx-xapi-pp-cli logging-settings update — Update LoggingSettingsmail-settings — Manage mail settings
3cx-xapi-pp-cli mail-settings get — Get MailSettings3cx-xapi-pp-cli mail-settings test-email — Invoke action TestEmail3cx-xapi-pp-cli mail-settings update — Update MailSettingsmicrosoft365-integration — Manage microsoft365 integration
3cx-xapi-pp-cli microsoft365-integration authorize-presence — Invoke action AuthorizePresence3cx-xapi-pp-cli microsoft365-integration deauthorize-presence — Invoke action DeauthorizePresence3cx-xapi-pp-cli microsoft365-integration get — Get Microsoft365Integration3cx-xapi-pp-cli microsoft365-integration get-m365-groups — Invoke action GetM365Groups3cx-xapi-pp-cli microsoft365-integration get-m365-users — Invoke action GetM365Users3cx-xapi-pp-cli microsoft365-integration get-microsoft-access-token — Invoke function GetMicrosoftAccessToken3cx-xapi-pp-cli microsoft365-integration get-microsoft365-directory — Invoke function GetMicrosoft365Directory3cx-xapi-pp-cli microsoft365-integration get-users-by-principal-names — Invoke action GetUsersByPrincipalNames3cx-xapi-pp-cli microsoft365-integration test-presence — Invoke action TestPresence3cx-xapi-pp-cli microsoft365-integration test-subscription — Invoke function TestSubscription3cx-xapi-pp-cli microsoft365-integration update — Update Microsoft365Integrationmicrosoft365-teams-integration — Manage microsoft365 teams integration
3cx-xapi-pp-cli microsoft365-teams-integration check-fqdn-record — Invoke function CheckFqdnRecord3cx-xapi-pp-cli microsoft365-teams-integration check-map-users-script — Invoke function CheckMapUsersScript3cx-xapi-pp-cli microsoft365-teams-integration get — Get Microsoft365TeamsIntegration3cx-xapi-pp-cli microsoft365-teams-integration get-dial-plan-script — Invoke function GetDialPlanScript3cx-xapi-pp-cli microsoft365-teams-integration get-map-users-script — Invoke function GetMapUsersScript3cx-xapi-pp-cli microsoft365-teams-integration update — Update Microsoft365TeamsIntegrationmusic-on-hold-settings — Manage music on hold settings
3cx-xapi-pp-cli music-on-hold-settings get — Get MusicOnHoldSettings3cx-xapi-pp-cli music-on-hold-settings update — Update MusicOnHoldSettingsmy-group — Manage my group
3cx-xapi-pp-cli my-group get — Get MyGroup3cx-xapi-pp-cli my-group get-partner-info — Invoke function GetMyGroupPartnerInfo3cx-xapi-pp-cli my-group get-restrictions — Invoke function GetRestrictions3cx-xapi-pp-cli my-group link-partner — Invoke action LinkMyGroupPartner3cx-xapi-pp-cli my-group list-members — Get Members from MyGroup3cx-xapi-pp-cli my-group list-rights — Get Rights from MyGroup3cx-xapi-pp-cli my-group replace-license-key — Invoke action ReplaceMyGroupLicenseKey3cx-xapi-pp-cli my-group unlink-partner — Invoke action UnlinkMyGroupPartner3cx-xapi-pp-cli my-group update — Update MyGroupmy-tokens — Manage my tokens
3cx-xapi-pp-cli my-tokens — Get entities from MyTokensmy-tokens-id — Manage my tokens id
3cx-xapi-pp-cli my-tokens-id <Id> — Invoke action RevokeTokenmy-user — Manage my user
3cx-xapi-pp-cli my-user generate-prov-link — Invoke function GenerateProvLink3cx-xapi-pp-cli my-user get — Get MyUser3cx-xapi-pp-cli my-user list-forwarding-profiles — Get ForwardingProfiles from MyUser3cx-xapi-pp-cli my-user list-greetings — Get Greetings from MyUser3cx-xapi-pp-cli my-user list-groups — Get Groups from MyUser3cx-xapi-pp-cli my-user update — Update MyUsernetwork-interfaces — Manage network interfaces
3cx-xapi-pp-cli network-interfaces — Get entities from NetworkInterfacesnetwork-settings — Manage network settings
3cx-xapi-pp-cli network-settings get — Get NetworkSettings3cx-xapi-pp-cli network-settings get-ifaces — Invoke function GetIfaces3cx-xapi-pp-cli network-settings update — Update NetworkSettingsnotification-settings — Manage notification settings
3cx-xapi-pp-cli notification-settings get — Get NotificationSettings3cx-xapi-pp-cli notification-settings update — Update NotificationSettingsoffice-hours — Manage office hours
3cx-xapi-pp-cli office-hours get — Get OfficeHours3cx-xapi-pp-cli office-hours update — Update OfficeHoursoutbound-rules — Manage outbound rules
3cx-xapi-pp-cli outbound-rules create — Add new entity to OutboundRules3cx-xapi-pp-cli outbound-rules get-emergency — Invoke function GetEmergencyOutboundRules3cx-xapi-pp-cli outbound-rules list — Get entities from OutboundRules3cx-xapi-pp-cli outbound-rules move-up-down — Invoke action MoveUpDown3cx-xapi-pp-cli outbound-rules purge — Invoke action Purgeoutbound-rules-id — Manage outbound rules id
3cx-xapi-pp-cli outbound-rules-id delete-outbound-rule — Delete entity from OutboundRules3cx-xapi-pp-cli outbound-rules-id get-outbound-rule — Get entity from OutboundRules by key3cx-xapi-pp-cli outbound-rules-id update-outbound-rule — Update entity in OutboundRulesparameters — Manage parameters
3cx-xapi-pp-cli parameters create — Add new entity to Parameters3cx-xapi-pp-cli parameters get-by-name — Invoke function GetParameterByName3cx-xapi-pp-cli parameters list — Get entities from Parametersparameters-id — Manage parameters id
3cx-xapi-pp-cli parameters-id delete-parameter — Delete entity from Parameters3cx-xapi-pp-cli parameters-id get-parameter — Get entity from Parameters by key3cx-xapi-pp-cli parameters-id update-parameter — Update entity in Parametersparkings — Manage parkings
3cx-xapi-pp-cli parkings create — Add new entity to Parkings3cx-xapi-pp-cli parkings list — Get entities from Parkingsparkings-id — Manage parkings id
3cx-xapi-pp-cli parkings-id delete-parking — Delete entity from Parkings3cx-xapi-pp-cli parkings-id get-parking — Get entity from Parkings by key3cx-xapi-pp-cli parkings-id list-parking-groups — Get Groups from Parkings3cx-xapi-pp-cli parkings-id update-parking — Update entity in Parkingsparkings-number-number — Manage parkings number number
3cx-xapi-pp-cli parkings-number-number <Number> — Get entity from Parkings by key (Number)peers — Manage peers
3cx-xapi-pp-cli peers get-report — Invoke function GetReportPeers3cx-xapi-pp-cli peers list — Get entities from Peers3cx-xapi-pp-cli peers retreive-by-numbers — Invoke action RetreivePeersByNumberspeers-number-number — Manage peers number number
3cx-xapi-pp-cli peers-number-number <Number> — Get entity from Peers by key (Number)phone-book-settings — Manage phone book settings
3cx-xapi-pp-cli phone-book-settings get — Get PhoneBookSettings3cx-xapi-pp-cli phone-book-settings update — Update PhoneBookSettingsphone-logos — Manage phone logos
3cx-xapi-pp-cli phone-logos — Get entities from PhoneLogosphone-logos-filename — Manage phone logos filename
3cx-xapi-pp-cli phone-logos-filename <Filename> — Delete entity from PhoneLogosphone-templates — Manage phone templates
3cx-xapi-pp-cli phone-templates create — Add new entity to PhoneTemplates3cx-xapi-pp-cli phone-templates list — Get entities from PhoneTemplatesphone-templates-id — Manage phone templates id
3cx-xapi-pp-cli phone-templates-id delete-phone-template — Delete entity from PhoneTemplates3cx-xapi-pp-cli phone-templates-id get-phone-template — Get entity from PhoneTemplates by key3cx-xapi-pp-cli phone-templates-id update-phone-template — Update entity in PhoneTemplatesphones-settings — Manage phones settings
3cx-xapi-pp-cli phones-settings get — Get PhonesSettings3cx-xapi-pp-cli phones-settings update — Update PhonesSettingsplaylists — Manage playlists
3cx-xapi-pp-cli playlists create — Add new entity to Playlists3cx-xapi-pp-cli playlists delete-file — Invoke action DeletePlaylistFile3cx-xapi-pp-cli playlists download-file — Invoke function DownloadPlaylistFile3cx-xapi-pp-cli playlists list — Get entities from Playlistsplaylists-name — Manage playlists name
3cx-xapi-pp-cli playlists-name delete-playlist — Delete entity from Playlists3cx-xapi-pp-cli playlists-name get-playlist — Get entity from Playlists by key3cx-xapi-pp-cli playlists-name update-playlist — Update entity in Playlistsprompt-sets — Manage prompt sets
3cx-xapi-pp-cli prompt-sets get-active — Invoke function GetActive3cx-xapi-pp-cli prompt-sets list — Get entities from PromptSetsprompt-sets-id — Manage prompt sets id
3cx-xapi-pp-cli prompt-sets-id copy — Invoke action Copy3cx-xapi-pp-cli prompt-sets-id delete-prompt-set — Delete entity from PromptSets3cx-xapi-pp-cli prompt-sets-id get-prompt-set — Get entity from PromptSets by key3cx-xapi-pp-cli prompt-sets-id list-prompts — Get Prompts from PromptSets3cx-xapi-pp-cli prompt-sets-id play-prompt — Invoke action PlayPrompt3cx-xapi-pp-cli prompt-sets-id record-prompt — Invoke action RecordPrompt3cx-xapi-pp-cli prompt-sets-id set-active — Invoke action SetActive3cx-xapi-pp-cli prompt-sets-id set-alternate-pronunciation — Invoke action SetAlternatePronunciation3cx-xapi-pp-cli prompt-sets-id update-prompt-set — Update entity in PromptSetspurge-all-logs — Manage purge all logs
3cx-xapi-pp-cli purge-all-logs — Invoke actionImport PurgeAllLogspurge-calls — Manage purge calls
3cx-xapi-pp-cli purge-calls — Invoke actionImport PurgeCallspurge-chats — Manage purge chats
3cx-xapi-pp-cli purge-chats — Invoke actionImport PurgeChatsqueues — Manage queues
3cx-xapi-pp-cli queues create — Add new entity to Queues3cx-xapi-pp-cli queues get-first-available-number — Invoke function GetFirstAvailableQueueNumber3cx-xapi-pp-cli queues list — Get entities from Queuesqueues-id — Manage queues id
3cx-xapi-pp-cli queues-id delete-queue — Delete entity from Queues3cx-xapi-pp-cli queues-id get-queue — Get entity from Queues by key3cx-xapi-pp-cli queues-id list-agents — Get Agents from Queues3cx-xapi-pp-cli queues-id list-managers — Get Managers from Queues3cx-xapi-pp-cli queues-id reset-queue-statistics — Invoke action ResetQueueStatistics3cx-xapi-pp-cli queues-id update-queue — Update entity in Queuesqueues-number-number — Manage queues number number
3cx-xapi-pp-cli queues-number-number <Number> — Get entity from Queues by key (Number)receptionists — Manage receptionists
3cx-xapi-pp-cli receptionists create — Add new entity to Receptionists3cx-xapi-pp-cli receptionists get-first-available-number — Invoke function GetFirstAvailableReceptionistNumber3cx-xapi-pp-cli receptionists list — Get entities from Receptionistsreceptionists-id — Manage receptionists id
3cx-xapi-pp-cli receptionists-id delete-receptionist — Delete entity from Receptionists3cx-xapi-pp-cli receptionists-id get-receptionist — Get entity from Receptionists by key3cx-xapi-pp-cli receptionists-id list-forwards — Get Forwards from Receptionists3cx-xapi-pp-cli receptionists-id update-receptionist — Update entity in Receptionistsreceptionists-number-number — Manage receptionists number number
3cx-xapi-pp-cli receptionists-number-number <Number> — Get entity from Receptionists by key (Number)recordings — Manage recordings
3cx-xapi-pp-cli recordings archive — Invoke action Archive3cx-xapi-pp-cli recordings bulk-archive — Invoke action BulkRecordingsArchive3cx-xapi-pp-cli recordings bulk-delete — Invoke action BulkRecordingsDelete3cx-xapi-pp-cli recordings download — Invoke function DownloadRecording3cx-xapi-pp-cli recordings get-repository-settings — Invoke function GetRecordingRepositorySettings3cx-xapi-pp-cli recordings list — Get entities from Recordings3cx-xapi-pp-cli recordings purge-archive — Invoke action PurgeArchive3cx-xapi-pp-cli recordings purge-local — Invoke action PurgeLocal3cx-xapi-pp-cli recordings set-repository-settings — Invoke action SetRecordingRepositorySettings3cx-xapi-pp-cli recordings transcribe — Invoke action TranscribeRecordingsremote-archiving-settings — Manage remote archiving settings
3cx-xapi-pp-cli remote-archiving-settings archive-chats — Invoke action ArchiveChats3cx-xapi-pp-cli remote-archiving-settings archive-faxes — Invoke action ArchiveFaxes3cx-xapi-pp-cli remote-archiving-settings archive-recordings — Invoke action ArchiveRecordings3cx-xapi-pp-cli remote-archiving-settings archive-voicemail — Invoke action ArchiveVoicemail3cx-xapi-pp-cli remote-archiving-settings get — Get RemoteArchivingSettings3cx-xapi-pp-cli remote-archiving-settings update — Update RemoteArchivingSettingsreport-abandoned-chats-statistics — Manage report abandoned chats statistics
3cx-xapi-pp-cli report-abandoned-chats-statistics download-abandoned-chats-statistics — Invoke function DownloadAbandonedChatsStatistics3cx-xapi-pp-cli report-abandoned-chats-statistics get-abandoned-chats-statistics-data — Invoke function GetAbandonedChatsStatisticsDatareport-abandoned-queue-calls — Manage report abandoned queue calls
3cx-xapi-pp-cli report-abandoned-queue-calls download-abandoned-queue-calls — Invoke function DownloadAbandonedQueueCalls3cx-xapi-pp-cli report-abandoned-queue-calls get-abandoned-queue-calls-data — Invoke function GetAbandonedQueueCallsDatareport-agent-login-history — Manage report agent login history
3cx-xapi-pp-cli report-agent-login-history download-agent-login-history — Invoke function DownloadAgentLoginHistory3cx-xapi-pp-cli report-agent-login-history get-agent-login-history-data — Invoke function GetAgentLoginHistoryDatareport-agents-in-queue-statistics — Manage report agents in queue statistics
3cx-xapi-pp-cli report-agents-in-queue-statistics download-agents-in-queue-statistics — Invoke function DownloadAgentsInQueueStatistics3cx-xapi-pp-cli report-agents-in-queue-statistics get-agents-in-queue-statistics-data — Invoke function GetAgentsInQueueStatisticsDatareport-audit-log — Manage report audit log
3cx-xapi-pp-cli report-audit-log download-audit-log — Invoke function DownloadAuditLog3cx-xapi-pp-cli report-audit-log get-audit-log-data — Invoke function GetAuditLogDatareport-average-queue-waiting-time — Manage report average queue waiting time
3cx-xapi-pp-cli report-average-queue-waiting-time download-average-queue-waiting-time-report — Invoke function DownloadAverageQueueWaitingTimeReport3cx-xapi-pp-cli report-average-queue-waiting-time get-average-queue-waiting-time-data — Invoke function GetAverageQueueWaitingTimeDatareport-breaches-sla — Manage report breaches sla
3cx-xapi-pp-cli report-breaches-sla download-breaches-sla — Invoke function DownloadBreachesSla3cx-xapi-pp-cli report-breaches-sla get-breaches-sla-data — Invoke function GetBreachesSlaDatareport-call-cost-by-extension-group — Manage report call cost by extension group
3cx-xapi-pp-cli report-call-cost-by-extension-group download-call-cost-by-extension-group — Invoke function DownloadCallCostByExtensionGroup3cx-xapi-pp-cli report-call-cost-by-extension-group get-call-cost-by-extension-group-data — Invoke function GetCallCostByExtensionGroupDatareport-call-distribution — Manage report call distribution
3cx-xapi-pp-cli report-call-distribution download-get-get-call-distribution — Invoke function DownloadGetGetCallDistribution3cx-xapi-pp-cli report-call-distribution get-call-distribution — Invoke function GetCallDistributionreport-call-log-data — Manage report call log data
3cx-xapi-pp-cli report-call-log-data download-call-log — Invoke function DownloadCallLog3cx-xapi-pp-cli report-call-log-data get-call-log-data — Invoke function GetCallLogData3cx-xapi-pp-cli report-call-log-data get-call-quality-report — Invoke function GetCallQualityReport3cx-xapi-pp-cli report-call-log-data get-old-call-log-data — Invoke function GetOldCallLogData3cx-xapi-pp-cli report-call-log-data get-old-call-quality-report — Invoke function GetOldCallQualityReportreport-chat-log — Manage report chat log
3cx-xapi-pp-cli report-chat-log download-chat-log — Invoke function DownloadChatLog3cx-xapi-pp-cli report-chat-log get-chat-log — Invoke function GetChatLogreport-detailed-queue-statistics — Manage report detailed queue statistics
3cx-xapi-pp-cli report-detailed-queue-statistics download-detailed-queue-statistics — Invoke function DownloadDetailedQueueStatistics3cx-xapi-pp-cli report-detailed-queue-statistics get-detailed-queue-statistics-data — Invoke function GetDetailedQueueStatisticsDatareport-extension-statistics — Manage report extension statistics
3cx-xapi-pp-cli report-extension-statistics download-extension-statistics — Invoke function DownloadExtensionStatistics3cx-xapi-pp-cli report-extension-statistics get-extension-statistics-data — Invoke function GetExtensionStatisticsDatareport-extension-statistics-by-group — Manage report extension statistics by group
3cx-xapi-pp-cli report-extension-statistics-by-group download-extension-statistics-by-group — Invoke function DownloadExtensionStatisticsByGroup3cx-xapi-pp-cli report-extension-statistics-by-group get-extension-statistics-by-group-data — Invoke function GetExtensionStatisticsByGroupDatareport-extensions-statistics-by-ring-groups — Manage report extensions statistics by ring groups
3cx-xapi-pp-cli report-extensions-statistics-by-ring-groups download-extensions-statistics-by-ring-groups — Invoke function DownloadExtensionsStatisticsByRingGroups3cx-xapi-pp-cli report-extensions-statistics-by-ring-groups get-extensions-statistics-by-ring-groups-data — Invoke function GetExtensionsStatisticsByRingGroupsDatareport-inbound-calls — Manage report inbound calls
3cx-xapi-pp-cli report-inbound-calls download-get-inbound-calls — Invoke function DownloadGetInboundCalls3cx-xapi-pp-cli report-inbound-calls get-inbound-calls — Invoke function GetInboundCallsreport-inbound-rules — Manage report inbound rules
3cx-xapi-pp-cli report-inbound-rules download-inbound-rules — Invoke function DownloadInboundRules3cx-xapi-pp-cli report-inbound-rules get-inbound-rules-data — Invoke function GetInboundRulesDatareport-outbound-calls — Manage report outbound calls
3cx-xapi-pp-cli report-outbound-calls download-get-outbound-calls — Invoke function DownloadGetOutboundCalls3cx-xapi-pp-cli report-outbound-calls get-outbound-calls — Invoke function GetOutboundCallsreport-queue-agents-chat-statistics — Manage report queue agents chat statistics
3cx-xapi-pp-cli report-queue-agents-chat-statistics download-queue-agents-chat-statistics — Invoke function DownloadQueueAgentsChatStatistics3cx-xapi-pp-cli report-queue-agents-chat-statistics get-queue-agents-chat-statistics-data — Invoke function GetQueueAgentsChatStatisticsDatareport-queue-agents-chat-statistics-totals — Manage report queue agents chat statistics totals
3cx-xapi-pp-cli report-queue-agents-chat-statistics-totals download-queue-agents-chat-statistics-totals — Invoke function DownloadQueueAgentsChatStatisticsTotals3cx-xapi-pp-cli report-queue-agents-chat-statistics-totals get-queue-agents-chat-statistics-totals-data — Invoke function GetQueueAgentsChatStatisticsTotalsDatareport-queue-an-un-calls — Manage report queue an un calls
3cx-xapi-pp-cli report-queue-an-un-calls download-queue-an-un-calls-report — Invoke function DownloadQueueAnUnCallsReport3cx-xapi-pp-cli report-queue-an-un-calls get-queue-an-un-calls-data — Invoke function GetQueueAnUnCallsDatareport-queue-answered-calls-by-wait-time — Manage report queue answered calls by wait time
3cx-xapi-pp-cli report-queue-answered-calls-by-wait-time download-queue-answered-calls-by-wait-time — Invoke function DownloadQueueAnsweredCallsByWaitTime3cx-xapi-pp-cli report-queue-answered-calls-by-wait-time get-queue-answered-calls-by-wait-time-data — Invoke function GetQueueAnsweredCallsByWaitTimeDatareport-queue-callbacks — Manage report queue callbacks
3cx-xapi-pp-cli report-queue-callbacks download-queue-callbacks — Invoke function DownloadQueueCallbacks3cx-xapi-pp-cli report-queue-callbacks get-queue-callbacks-data — Invoke function GetQueueCallbacksDatareport-queue-chat-performance — Manage report queue chat performance
3cx-xapi-pp-cli report-queue-chat-performance download-queue-chat-performance — Invoke function DownloadQueueChatPerformance3cx-xapi-pp-cli report-queue-chat-performance get-queue-chat-performance-data — Invoke function GetQueueChatPerformanceDatareport-queue-failed-callbacks — Manage report queue failed callbacks
3cx-xapi-pp-cli report-queue-failed-callbacks download-queue-failed-callbacks — Invoke function DownloadQueueFailedCallbacks3cx-xapi-pp-cli report-queue-failed-callbacks get-queue-failed-callbacks-data — Invoke function GetQueueFailedCallbacksDatareport-queue-performance-overview — Manage report queue performance overview
3cx-xapi-pp-cli report-queue-performance-overview download-queue-performance-overview — Invoke function DownloadQueuePerformanceOverview3cx-xapi-pp-cli report-queue-performance-overview get-queue-performance-overview-data — Invoke function GetQueuePerformanceOverviewDatareport-queue-performance-totals — Manage report queue performance totals
3cx-xapi-pp-cli report-queue-performance-totals download-queue-performance-totals — Invoke function DownloadQueuePerformanceTotals3cx-xapi-pp-cli report-queue-performance-totals get-queue-performance-totals-data — Invoke function GetQueuePerformanceTotalsDatareport-ring-group-statistics — Manage report ring group statistics
3cx-xapi-pp-cli report-ring-group-statistics download-ring-group-statistics — Invoke function DownloadRingGroupStatistics3cx-xapi-pp-cli report-ring-group-statistics get-ring-group-statistics-data — Invoke function GetRingGroupStatisticsDatareport-statistic-sla — Manage report statistic sla
3cx-xapi-pp-cli report-statistic-sla download-statistic-sla — Invoke function DownloadStatisticSla3cx-xapi-pp-cli report-statistic-sla get-statistic-sla-data — Invoke function GetStatisticSlaDatareport-team-queue-general-statistics — Manage report team queue general statistics
3cx-xapi-pp-cli report-team-queue-general-statistics download-team-queue-general-statistics — Invoke function DownloadTeamQueueGeneralStatistics3cx-xapi-pp-cli report-team-queue-general-statistics get-team-queue-general-statistics-data — Invoke function GetTeamQueueGeneralStatisticsDatareport-user-activity — Manage report user activity
3cx-xapi-pp-cli report-user-activity download-get-user-activity — Invoke function DownloadGetUserActivity3cx-xapi-pp-cli report-user-activity get-user-activity — Invoke function GetUserActivityring-groups — Manage ring groups
3cx-xapi-pp-cli ring-groups create — Add new entity to RingGroups3cx-xapi-pp-cli ring-groups get-first-available-number — Invoke function GetFirstAvailableRingGroupNumber3cx-xapi-pp-cli ring-groups list — Get entities from RingGroupsring-groups-id — Manage ring groups id
3cx-xapi-pp-cli ring-groups-id delete-ring-group — Delete entity from RingGroups3cx-xapi-pp-cli ring-groups-id get-ring-group — Get entity from RingGroups by key3cx-xapi-pp-cli ring-groups-id list-ring-group-members — Get Members from RingGroups3cx-xapi-pp-cli ring-groups-id update-ring-group — Update entity in RingGroupsring-groups-number-number — Manage ring groups number number
3cx-xapi-pp-cli ring-groups-number-number <Number> — Get entity from RingGroups by key (Number)sbcs — Manage sbcs
3cx-xapi-pp-cli sbcs create — Add new entity to Sbcs3cx-xapi-pp-cli sbcs list — Get entities from Sbcssbcs-name — Manage sbcs name
3cx-xapi-pp-cli sbcs-name delete-sbc — Delete entity from Sbcs3cx-xapi-pp-cli sbcs-name get-sbc — Get entity from Sbcs by key3cx-xapi-pp-cli sbcs-name push-config — Invoke action PushConfig3cx-xapi-pp-cli sbcs-name update-sbc — Update entity in Sbcsscheduled-reports — Manage scheduled reports
3cx-xapi-pp-cli scheduled-reports create — Add new entity to ScheduledReports3cx-xapi-pp-cli scheduled-reports list — Get entities from ScheduledReportsscheduled-reports-id — Manage scheduled reports id
3cx-xapi-pp-cli scheduled-reports-id delete-scheduled-report — Delete entity from ScheduledReports3cx-xapi-pp-cli scheduled-reports-id get-scheduled-report — Get entity from ScheduledReports by key3cx-xapi-pp-cli scheduled-reports-id update-scheduled-report — Update entity in ScheduledReportssecure-sip-settings — Manage secure sip settings
3cx-xapi-pp-cli secure-sip-settings get — Get SecureSipSettings3cx-xapi-pp-cli secure-sip-settings update — Update SecureSipSettingssecurity-tokens — Manage security tokens
3cx-xapi-pp-cli security-tokens — Get entities from SecurityTokenssecurity-tokens-id — Manage security tokens id
3cx-xapi-pp-cli security-tokens-id <Id> — Invoke action RevokeTokenservice-principals — Manage service principals
3cx-xapi-pp-cli service-principals create — Add new entity to ServicePrincipals3cx-xapi-pp-cli service-principals list — Get entities from ServicePrincipalsservice-principals-id — Manage service principals id
3cx-xapi-pp-cli service-principals-id delete-service-principal — Delete entity from ServicePrincipals3cx-xapi-pp-cli service-principals-id generate-app-token — Invoke action GenerateAppToken3cx-xapi-pp-cli service-principals-id get-service-principal — Get entity from ServicePrincipals by key3cx-xapi-pp-cli service-principals-id update-service-principal — Update entity in ServicePrincipalsservices — Manage services
3cx-xapi-pp-cli services disable — Invoke action Disable3cx-xapi-pp-cli services enable — Invoke action Enable3cx-xapi-pp-cli services garbage-collect — Invoke action GarbageCollect3cx-xapi-pp-cli services list-info — Get entities from Services3cx-xapi-pp-cli services restart — Invoke action Restart3cx-xapi-pp-cli services restart-operating-system — Invoke action RestartOperatingSystem3cx-xapi-pp-cli services start — Invoke action Start3cx-xapi-pp-cli services stop — Invoke action Stopset-update-settings — Manage set update settings
3cx-xapi-pp-cli set-update-settings — Invoke actionImport SetUpdateSettingssip-devices — Manage sip devices
3cx-xapi-pp-cli sip-devices — Get entities from SipDevicessip-devices-id — Manage sip devices id
3cx-xapi-pp-cli sip-devices-id <Id> — Invoke action PushFirmwaresyslog-settings — Manage syslog settings
3cx-xapi-pp-cli syslog-settings get — Get SyslogSettings3cx-xapi-pp-cli syslog-settings test-connection — Invoke action TestConnection3cx-xapi-pp-cli syslog-settings update — Update SyslogSettingssystem-status — Manage system status
3cx-xapi-pp-cli system-status apitoken — Invoke function APIToken3cx-xapi-pp-cli system-status get — Get SystemStatus3cx-xapi-pp-cli system-status get-remote-access-status — Invoke function GetRemoteAccessStatus3cx-xapi-pp-cli system-status get-request-help-link — Invoke function GetRequestHelpLink3cx-xapi-pp-cli system-status get-version-type — Invoke function GetVersionType3cx-xapi-pp-cli system-status is-request-help-enabled — Invoke function IsRequestHelpEnabled3cx-xapi-pp-cli system-status my-phone-request-id-telemetry — Invoke function MyPhoneRequestIdTelemetry3cx-xapi-pp-cli system-status network-telemetry — Invoke function NetworkTelemetry3cx-xapi-pp-cli system-status request-help — Invoke action RequestHelp3cx-xapi-pp-cli system-status revoke-remote-access — Invoke action RevokeRemoteAccess3cx-xapi-pp-cli system-status service-telemetry — Invoke function ServiceTelemetry3cx-xapi-pp-cli system-status set-chat-log-status — Invoke action SetChatLogStatus3cx-xapi-pp-cli system-status set-multi-company-mode — Invoke action SetMultiCompanyMode3cx-xapi-pp-cli system-status start-dbmaintenance — Invoke action StartDBMaintenance3cx-xapi-pp-cli system-status system-database-information — Invoke function SystemDatabaseInformation3cx-xapi-pp-cli system-status system-extensions — Invoke function SystemExtensions3cx-xapi-pp-cli system-status system-health-status — Invoke function SystemHealthStatus3cx-xapi-pp-cli system-status system-telemetry — Invoke function SystemTelemetrytenant-properties — Manage tenant properties
3cx-xapi-pp-cli tenant-properties create-property — Add new entity to TenantProperties3cx-xapi-pp-cli tenant-properties list-property — Get entities from TenantPropertiestenant-properties-name — Manage tenant properties name
3cx-xapi-pp-cli tenant-properties-name delete-property — Delete entity from TenantProperties3cx-xapi-pp-cli tenant-properties-name get-property — Get entity from TenantProperties by key3cx-xapi-pp-cli tenant-properties-name update-property — Update entity in TenantPropertiestrunk-templates — Manage trunk templates
3cx-xapi-pp-cli trunk-templates create — Add new entity to TrunkTemplates3cx-xapi-pp-cli trunk-templates list — Get entities from TrunkTemplatestrunk-templates-id — Manage trunk templates id
3cx-xapi-pp-cli trunk-templates-id delete-trunk-template — Delete entity from TrunkTemplates3cx-xapi-pp-cli trunk-templates-id get-trunk-template — Get entity from TrunkTemplates by key3cx-xapi-pp-cli trunk-templates-id update-trunk-template — Update entity in TrunkTemplatestrunks — Manage trunks
3cx-xapi-pp-cli trunks create — Add new entity to Trunks3cx-xapi-pp-cli trunks finalize-provisioning — Invoke action FinalizeTrunkProvisioning3cx-xapi-pp-cli trunks get-first-available-number — Invoke function GetFirstAvailableTrunkNumber3cx-xapi-pp-cli trunks get-provider-phones — Invoke action GetProviderPhones3cx-xapi-pp-cli trunks init — Invoke function InitTrunk3cx-xapi-pp-cli trunks init-master-bridge — Invoke function InitMasterBridge3cx-xapi-pp-cli trunks init-slave-bridge — Invoke function InitSlaveBridge3cx-xapi-pp-cli trunks list — Get entities from Trunks3cx-xapi-pp-cli trunks refresh-registration — Invoke action RefreshRegistration3cx-xapi-pp-cli trunks set-routes — Invoke action SetRoutestrunks-id — Manage trunks id
3cx-xapi-pp-cli trunks-id delete-trunk — Delete entity from Trunks3cx-xapi-pp-cli trunks-id export-trunk — Invoke function ExportTrunk3cx-xapi-pp-cli trunks-id get-trunk — Get entity from Trunks by key3cx-xapi-pp-cli trunks-id run-analysis — Invoke action RunAnalysis3cx-xapi-pp-cli trunks-id test-inbound-call — Invoke action TestInboundCall3cx-xapi-pp-cli trunks-id test-outbound-call — Invoke action TestOutboundCall3cx-xapi-pp-cli trunks-id update-trunk — Update entity in Trunkstrunks-number-number — Manage trunks number number
3cx-xapi-pp-cli trunks-number-number <Number> — Get entity from Trunks by key (Number)upgrade-debian — Manage upgrade debian
3cx-xapi-pp-cli upgrade-debian — Invoke actionImport UpgradeDebianusers — Manage users
3cx-xapi-pp-cli users batch-delete — Invoke action BatchDelete3cx-xapi-pp-cli users bulk-update — Invoke action BulkUpdate3cx-xapi-pp-cli users create — Add new entity to Users3cx-xapi-pp-cli users download-greeting — Invoke function DownloadGreeting3cx-xapi-pp-cli users export-extensions — Invoke function ExportExtensions3cx-xapi-pp-cli users get-duplicated-emails — Invoke action GetDuplicatedEmails3cx-xapi-pp-cli users get-first-available-extension-number — Invoke function GetFirstAvailableExtensionNumber3cx-xapi-pp-cli users get-first-available-hotdesking-number — Invoke function GetFirstAvailableHotdeskingNumber3cx-xapi-pp-cli users get-multi-edit-greetings — Invoke action GetMultiEditGreetings3cx-xapi-pp-cli users get-phone-registrar — Invoke function GetPhoneRegistrar3cx-xapi-pp-cli users get-phone-registrars — Invoke action GetPhoneRegistrars3cx-xapi-pp-cli users install-firmware — Invoke action InstallFirmware3cx-xapi-pp-cli users list — Get entities from Users3cx-xapi-pp-cli users make-call — Invoke action MakeCall3cx-xapi-pp-cli users multi-delete-greeting — Invoke action MultiDeleteGreeting3cx-xapi-pp-cli users multi-update — Invoke action MultiUserUpdate3cx-xapi-pp-cli users reboot-phone — Invoke action RebootPhone3cx-xapi-pp-cli users regenerate-passwords — Invoke action RegeneratePasswords3cx-xapi-pp-cli users reprovision-all-phones — Invoke action ReprovisionAllPhones3cx-xapi-pp-cli users reprovision-phone — Invoke action ReprovisionPhone3cx-xapi-pp-cli users upgrade-phone — Invoke action UpgradePhoneusers-id — Manage users id
3cx-xapi-pp-cli users-id delete-user — Delete entity from Users3cx-xapi-pp-cli users-id generate-prov-link — Invoke function GenerateProvLink3cx-xapi-pp-cli users-id get-phone-secret — Invoke function GetPhoneSecret3cx-xapi-pp-cli users-id get-user — Get entity from Users by key3cx-xapi-pp-cli users-id has-duplicated-email — Invoke function HasDuplicatedEmail3cx-xapi-pp-cli users-id list-forwarding-profiles — Get ForwardingProfiles from Users3cx-xapi-pp-cli users-id list-greetings — Get Greetings from Users3cx-xapi-pp-cli users-id list-groups — Get Groups from Users3cx-xapi-pp-cli users-id make-call-user-record-greeting — Invoke action MakeCallUserRecordGreeting3cx-xapi-pp-cli users-id regenerate — Invoke action Regenerate3cx-xapi-pp-cli users-id send-welcome-email — Invoke action SendWelcomeEmail3cx-xapi-pp-cli users-id set-monitor-status — Invoke action SetMonitorStatus3cx-xapi-pp-cli users-id update-user — Update entity in Usersusers-number-number — Manage users number number
3cx-xapi-pp-cli users-number-number <Number> — Get entity from Users by key (Number)voicemail-settings — Manage voicemail settings
3cx-xapi-pp-cli voicemail-settings create-converter-configuration — Invoke action CreateConverterConfiguration3cx-xapi-pp-cli voicemail-settings delete-all-user-voicemails — Invoke action DeleteAllUserVoicemails3cx-xapi-pp-cli voicemail-settings delete-converter-configuration — Invoke action DeleteConverterConfiguration3cx-xapi-pp-cli voicemail-settings get — Get VoicemailSettings3cx-xapi-pp-cli voicemail-settings get-configured-converters — Invoke function GetConfiguredConverters3cx-xapi-pp-cli voicemail-settings get-connected-converters-data — Invoke function GetConnectedConvertersData3cx-xapi-pp-cli voicemail-settings get-converter-request-status — Invoke function GetConverterRequestStatus3cx-xapi-pp-cli voicemail-settings get-transcribe-languages — Invoke function GetTranscribeLanguages3cx-xapi-pp-cli voicemail-settings update — Update VoicemailSettingswebsite-links — Manage website links
3cx-xapi-pp-cli website-links bulk-links-delete — Invoke action BulkLinksDelete3cx-xapi-pp-cli website-links create-weblink — Add new entity to WebsiteLinks3cx-xapi-pp-cli website-links list-weblink — Get entities from WebsiteLinks3cx-xapi-pp-cli website-links validate-link — Invoke action ValidateLinkwebsite-links-link — Manage website links link
3cx-xapi-pp-cli website-links-link delete-weblink — Delete entity from WebsiteLinks3cx-xapi-pp-cli website-links-link get-weblink — Get entity from WebsiteLinks by key3cx-xapi-pp-cli website-links-link update-weblink — Update entity in WebsiteLinksWhen you know what you want to do but not which command does it, ask the CLI directly:
3cx-xapi-pp-cli which "<capability in your own words>"
which resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code 0 means at least one match; exit code 2 means no confident match — fall back to --help or use a narrower query.
3cx-xapi-pp-cli audit --agent
After a sync, lists every ring group, queue, rule, and IVR destination that no longer resolves to a live extension or DID.
3cx-xapi-pp-cli users list --agent --select Number,FirstName,LastName,Groups.Name
Users responses are deeply nested; --select with dotted paths returns only the fields an agent needs, saving context.
3cx-xapi-pp-cli provision --file new-extensions.csv --dry-run
Shows the exact create and update plan with no writes; drop --dry-run to apply idempotently.
3cx-xapi-pp-cli trace 214 --agent
Shows every inbound rule, ring group, queue, DID, and forwarding profile that routes to extension 214.
3cx-xapi-pp-cli qrollup --since 7d --agent
One cross-queue table of performance, abandoned calls, and SLA breaches for the week.
Authentication is OAuth2 client-credentials. Create an API client in the 3CX Web Client under Admin > Integrations > API, enable the 3CX Configuration API checkbox, and assign the Service Principal the System Owner role (System Administrator causes 403 on call history and several reports). Set TCX_CLIENT_ID and TCX_CLIENT_SECRET, and point the CLI at your instance with TCX_FQDN (or the base-url config). The CLI mints and caches a Bearer token from /connect/token and refreshes it automatically (tokens last 60 minutes).
Run 3cx-xapi-pp-cli doctor to verify setup.
Add --agent to any command. Expands to: --json --compact --no-input --no-color --yes.
Pipeable — JSON on stdout, errors on stderr
Filterable — --select keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
3cx-xapi-pp-cli active-calls --agent --select id,name,status
Previewable — --dry-run shows the request without sending
Offline-friendly — sync/search commands can use the local SQLite store when available
Non-interactive — never prompts, every input is a flag
Explicit retries — use --idempotent only when an already-existing create should count as success, and use --ignore-missing only when a missing delete target should count as success
Commands that read from the local store or the API wrap output in a provenance envelope:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
Parse .results for data and .meta.source to know whether it's live or local. A human-readable N results (live) summary is printed to stderr only when stdout is a terminal AND no machine-format flag (--json, --csv, --compact, --quiet, --plain, --select) is set — piped/agent consumers and explicit-format runs get pure JSON on stdout.
Agents should treat the CLI's path resolver as part of the runtime contract:
Use --home <dir> for one invocation, or set API_3CX_XAPI_HOME=<dir> to relocate all four path kinds under one root.
Use per-kind env vars only when a specific kind must diverge: API_3CX_XAPI_CONFIG_DIR, API_3CX_XAPI_DATA_DIR, API_3CX_XAPI_STATE_DIR, API_3CX_XAPI_CACHE_DIR.
Resolution order is per-kind env var, --home, API_3CX_XAPI_HOME, XDG (XDG_CONFIG_HOME, XDG_DATA_HOME, XDG_STATE_HOME, XDG_CACHE_HOME), then platform defaults.
config contains settings like config.toml and profiles. data contains credentials.toml, data.db, cookies, and auth sidecars. state contains persisted queries, jobs, and teach.log. cache contains regenerable HTTP/cache files.
Stored secrets live in credentials.toml under the data dir. Existing legacy config.toml secrets are read for compatibility and leave config.toml on the first auth write.
Run 3cx-xapi-pp-cli doctor --fail-on warn to surface path and credential-location warnings. agent-context exposes a schema v4 paths block for agents that need the resolved dirs.
For MCP, pass relocation through the MCP host config. The MCP binary does not inherit CLI flags:
{
"mcpServers": {
"3cx-xapi": {
"command": "3cx-xapi-pp-mcp",
"env": {
"API_3CX_XAPI_HOME": "/srv/3cx-xapi"
}
}
}
}
Fleet precedence: an inherited per-kind env var overrides an explicit --home for that kind. Use API_3CX_XAPI_HOME or per-kind vars as durable fleet levers, and use --home only for a single invocation. Relocation is not reversible by unsetting env vars; move files manually before clearing API_3CX_XAPI_HOME, or doctor will not find credentials left under the former root.
When you (or the agent) notice something off about this CLI, record it:
3cx-xapi-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
3cx-xapi-pp-cli feedback --stdin < notes.txt
3cx-xapi-pp-cli feedback list --json --limit 10
Entries are stored locally as feedback.jsonl under the resolved data dir. They are never POSTed unless API_3CX_XAPI_FEEDBACK_ENDPOINT is set AND either --send is passed or API_3CX_XAPI_FEEDBACK_AUTO_SEND=true. Default behavior is local-only.
Write what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
Every command accepts --deliver <sink>. The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
| Sink | Effect |
|---|---|
stdout | Default; write to stdout only |
file:<path> | Atomically write output to <path> (tmp + rename) |
webhook:<url> | POST the output body to the URL (application/json or application/x-ndjson when --compact) |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
3cx-xapi-pp-cli profile save briefing --json
3cx-xapi-pp-cli --profile briefing active-calls
3cx-xapi-pp-cli profile list --json
3cx-xapi-pp-cli profile show briefing
3cx-xapi-pp-cli profile delete briefing --yes
Explicit flags always win over profile values; profile values win over defaults. agent-context lists all available profiles under available_profiles so introspecting agents discover them at runtime.
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
Parse $ARGUMENTS:
help, or --help → show 3cx-xapi-pp-cli --help outputinstall → ends with mcp → MCP installation; otherwise → see Prerequisites above--agent)go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/3cx-xapi/cmd/3cx-xapi-pp-mcp@latest
claude mcp add 3cx-xapi-pp-mcp -- 3cx-xapi-pp-mcp
claude mcp listwhich 3cx-xapi-pp-cli
If not found, offer to install (see Prerequisites at the top of this skill).--agent flag:
3cx-xapi-pp-cli <command> [subcommand] [args] --agent
3cx-xapi-pp-cli <command> --help.Alternatives
mvanhorn/printing-press-library
Every 3CX Configuration API (XAPI) object in one Go binary, with a local mirror of your whole PBX, offline search, config diffing, and cross-entity auditing no 3CX tool has. Trigger phrases: `audit my 3cx config`, `what changed on the pbx`, `provision 3cx extensions`, `queue sla report 3cx`, `trace extension 214`, `use 3cx-xapi`, `run 3cx-xapi`.
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
K-Dense-AI/scientific-agent-skills
Standard single-cell RNA-seq analysis pipeline. Use for QC, normalization, dimensionality reduction (PCA/UMAP/t-SNE), clustering, differential expression, visualization, and converting R-friendly single-cell formats such as Seurat or SingleCellExperiment RDS files into h5ad for Scanpy. Best for exploratory scRNA-seq analysis with established workflows. For deep learning models use scvi-tools; for data format questions use anndata.
dotnet/skills
Project-wide code coverage and CRAP (Change Risk Anti-Patterns) score analysis for .NET projects. Calculates CRAP scores per method and surfaces risk hotspots — complex code with low coverage that is dangerous to modify. Use to diagnose why coverage is stuck or plateaued, identify what methods block improvement, or get project-wide coverage analysis with risk ranking. USE FOR: coverage stuck, coverage plateau, can't increase coverage, what's blocking coverage, coverage gap, CRAP scores, risk hot