3CX WebAPI GUI

Created by Oleg Agapov, Modified on Fri, 21 Aug at 12:35 PM by Oleg Agapov

1. Deiban


To install or upgrade, run the script with SUDO privileges.


wget -qO- https://download.creomate.com/v20/install_webapi_gui.sh | sudo bash


The script installs or upgrades Creomate’s webapigui as a systemd service on a Debian 12 server running 3CX and TCXWebAPI.

The GUI:

  • Runs as the dedicated webapigui system account.
  • Listens on TCP port 8082.
  • Manages the existing webapi systemd service.
  • Can replace files and edit configuration under /var/www/webapi.
  • Can optionally install the Debian lame audio package.
  • Can be exposed through 3CX’s nginx under /gui/.


Files downloaded and installed by the script:

  1. webapigui executable

    • Downloaded from: https://download.creomate.com/v20/webapigui
    • Installed as: /var/www/webapi/webapigui
    • Owner: root:root
    • Permissions: 0755
  2. nginx configuration snippet

    • Downloaded from: https://download.creomate.com/v20/webapi_debian.conf
    • Installed as: /var/lib/3cxpbx/Bin/nginx/conf/snippets/webapi_debian.conf
    • Owner: root:root
    • Permissions: 0644
    • Downloaded only if the destination file does not already exist.

Files generated locally by the script:

  1. systemd service unit

    • Created at: /etc/systemd/system/webapigui.service
    • Owner: root:root
    • Permissions: 0644
  2. sudoers configuration

    • Created at: /etc/sudoers.d/webapigui
    • Owner: root:root
    • Permissions: 0440

Files that may be created later by the installed application:

  1. Embedded license helper

    • Extracted on first use to: /var/www/webapi/.license-helper
  2. Temporary Debian repository file for installing lame

    • Staged as: /var/www/webapi/.lame-tmp-repo.list
    • Temporarily copied to: /etc/apt/sources.list.d/webapigui-lame-tmp.list
    • Removed after the package operation.

The installer also uses temporary files created with mktemp, but automatically deletes them when it exits.


2. Windows

To install or upgrade, run the PowerShell script with Administrator privileges.


irm https://download.creomate.com/v20/install_webapi_gui.ps1 | iex


WebAPI GUI Installation Script


The PowerShell script installs or upgrades the **3CX WebAPI GUI** on Windows.


It performs the following actions:


  • Downloads the latest `webapigui.exe` or installs a specified local build.
  • Verifies the downloaded executable and checks whether an update is actually required.
  • Installs and registers `webapigui` as an automatically started Windows service running under **LocalSystem**.
  • Starts or restarts the service only when necessary.
  • Configures the WebAPI GUI listening port (**TCP 8082 by default**).
  • Creates the required 3CX **nginx** proxy configuration for `/webapi/` and `/gui/` if it does not already exist.
  • Reloads the 3CX nginx service after adding the configuration.
  • Creates a Windows Firewall rule allowing inbound connections to the configured WebAPI GUI port.
  • Can be safely re-run for upgrades; if the installed version is already current, the running service is left unchanged.


The script must be executed from an **elevated PowerShell session (Run as Administrator)**.


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article