Module and release scope
This guide covers InterWorx Hosting Control Panel 1.0.0, Extension API 1, from the reviewed product source. Its declared core range is 1.3.6–1.3.99. Use the matching released core and signed provider package; a version label alone does not install the required contracts. Source availability does not mean the module is bundled in every currently downloadable product, installed on your server, enabled or certified for your merchant/server account. Nothing in this guide enables a provider or changes your existing connections.
Open System → Hosting servers (newer source may group these as Payments, Domain services or Hosting services). Install the reviewed signed package through Modules & addons or the integration workspace's Install tab, enable the module separately, add an account/connection, save its own credentials, run its stated Test and explicitly enable the connection. Saving or retesting disables the connection until you enable it again. Start with the provider's test environment where supported; otherwise use an isolated account or server.
Exact connection fields
These are the fields declared by this module. Secret values are entered privately and encrypted by the application. Defaults are configuration hints, not approved live merchant settings. Internal fields are populated by the module and are not operator-editable.
| Key / label | Type | Required | Default / guidance |
|---|---|---|---|
server_url — Panel HTTPS address |
url | Yes | Origin only, including its HTTPS API port. A valid trusted TLS certificate is required. |
default_package — Default hosting package |
text | No | Exact package name or ID from this panel. Product settings can override it. |
default_nameservers — Default nameservers |
text | No | Use the account-specific value described below. |
allow_writes — Allow account provisioning and changes |
boolean | No | Default: false |
allow_automated_suspend — Allow automated suspension |
boolean | No | Default: false |
allow_automated_unsuspend — Allow automated unsuspension |
boolean | No | Default: false |
allow_automated_terminate — Allow lifecycle termination |
boolean | No | Default: false |
api_key — NodeWorx API key |
secret | Yes | Paste the complete InterWorx API key, including BEGIN and END lines. Require SWACCOUNTS and PACKAGES permissions. |
account_ip — Shared hosting IPv4 address |
text | Yes | Use the account-specific value described below. |
This module installs disabled. It provisions SiteWorx hosting through NodeWorx's documented XML-RPC API. It supplies no server addresses, accounts, API keys or business packages.
Configure
- Enable the module and create a connection. Enter the NodeWorx origin, normally
https://panel.example.net:2443, with a trusted TLS certificate. The fixed/xmlrpcendpoint is appended automatically; do not enter the SiteWorx login path. - Generate a NodeWorx API key for a master/reseller credential with SWACCOUNTS and PACKAGES permissions. Paste the complete key, including its BEGIN and END lines, in the encrypted secret field. Restrict source IPs and firewall access to the application server. A SiteWorx-only key cannot provision other accounts.
- Create package templates in NodeWorx. Run Test and map products to exact returned template names. Enter the shared IPv4 address assigned to new hosting accounts. Optional nameservers use a comma/space-separated list.
- Keep account writes disabled until testing is complete. Automated suspension, unsuspension and lifecycle termination each default off. Deletion requires a verified suspended account and the explicit lifecycle policy.
Operations and confirmation
Requests use XML-RPC method iworx.route with the API key, fixed controller, action and structured input. /nodeworx/packages/listDetails returns templates. /nodeworx/siteworx/querySiteworxAccounts requests the exact identity, domain, state and package limits. Account actions are add, edit for a template change, suspend, unsuspend and delete.
InterWorx can create an account-specific package clone such as __example.com. Verification compares all supported template resource limits rather than treating that generated clone name as the purchased plan. Exactly one template must match, or the reported named template must match those same limits. Ambiguous, customized or incomplete package evidence is rejected. Distinct product templates with identical limits should be avoided when account clones lose their original template association.
Create sends the reserved Unix username, domain, shared IP, customer contact, matching password confirmation, selected template and its explicit resource limits. Existing usernames/domains block creation. Every write requires a fresh read proving exact username, primary domain, package resources and active/inactive state; termination verifies account removal. Accepted but unconfirmed changes remain pending. Timed-out creation submits once and requires synchronization before another attempt.
Only shared/hosting products are advertised. Reseller/VPS creation, passwords changes, automatic login, arbitrary XML-RPC controllers and DNS operations are not exposed. No webhook is needed. There is no module-provided sandbox; validate on a dedicated InterWorx test server before permitting production writes. Some access changes are applied by InterWorx's scheduled tasks after the account state changes.

