Each answer is deliberately short and links to the page with the full detail. If your question is not here, the Troubleshooting page covers error messages, and the support team can be reached from your client area.

Setting up products

When I create a product I only see line packages. Where is the option for a credits or sub-reseller product? It is inside the same product. Open the product's Module Settings tab and change Account Type from Line (default) to Sub-Reseller. The Credits and Sub-Reseller Member Group fields are hidden until you switch that dropdown, and they appear right below it once you do. Package and Bouquets are ignored for that account type. Step by step in the Quickstart.

Do I need an admin key or is a reseller key enough? For Line products a reseller key is enough. Sub-Reseller products, connection counts that differ from the package, product upgrades and downgrades, and the expiry buttons all need an admin key. The complete matrix is in Reseller vs Admin Keys.

What do I put in the API URL field? Your panel domain with the scheme and nothing else: https://panel.example.com. No trailing slash, no /panel-api/v1 and no panel folder. With the folder in the URL most actions still work, but the line status check on the service page answers 404.

Where do I find the member group id for a Sub-Reseller product? On your panel, open the Group Permissions page. The id is the first column of the list. The group must exist on the panel; with a wrong id the order fails with The panel rejected the request values.

Can one product have several connection counts? Yes. Attach a configurable option named extra_connections (added on top of the package count) or max_connections (replaces it) and let the customer choose at checkout. This needs an admin key. See Configure.

Which billing cycle should the product have? The one that matches the package duration: a 1 month package on Monthly, a 3 months package on Quarterly, a 12 months package on Annually. Mismatched cycles make the panel expiry and the WHMCS due date drift at every renewal.

Credits and sub-resellers

Does the module handle reseller credit refills? Yes, in two ways. Automatically: the Credits value of a Sub-Reseller product is added to the account on creation and again on every renewal of the service. Manually: in Addons → Xtream AI Panel → Sub-Resellers, each account has a field where you type a positive or negative amount, an optional reason, and press Apply. Both need an admin key. Details in Provisioning Modes.

Can a reseller key create sub-resellers? No. The panel only issues the resellers:* scopes to admin keys, so a reseller cannot create other resellers through WHMCS. This is a rule of the panel, not of the module.

What happens to a sub-reseller when the WHMCS service is suspended or terminated? Today nothing on the panel: the module records the state in WHMCS and leaves the account as it is. To disable a sub-reseller, do it from your panel. The reasons are explained in Provisioning Modes.

Lines and daily operation

Does suspending a service in WHMCS disable the line? By default yes, and unsuspending enables it again. If you prefer suspended services to keep streaming until the line's own expiry date, set the product's Suspend action to Leave the line untouched, let it expire.

Does terminating a service delete the line? Yes. Terminate removes the line from the panel. If you want to keep the line, suspend instead of terminating.

A renewal reset the extra connections of a line. Why? Update the module. The panel's renewal applies the package's connection count, and from module 1.5.3 the renewal re-applies the product's connection count right after, on admin keys. Older module versions do not.

Can a customer upgrade or downgrade between two of my products? Yes, with an admin key and a panel updated on 2026-09-14 or later. The module moves the line to the new package in one call, keeping its expiry date. On a reseller key the panel refuses the package change. See the ChangePackage section of Provisioning Modes.

Can I change a line's password from WHMCS? Yes. The WHMCS password change is sent to the panel; if the customer typed a password the module keeps it, otherwise it generates one with your credential settings.

What does my customer see in the client area? The username, the password, the expiry date, the connection count, and the M3U and EPG URLs you configured on the panel entry, with the credentials already filled in. Nothing else: no panel links, no reseller data.

Existing lines and bulk tools

I already have lines on the panel. How do I attach them to WHMCS services? Use the Bulk tools tab of the addon in this order: Index reads every line of the panel, Link matches them to your WHMCS services (first by the WHMCS:<service id> tag in the line notes, then by username), Sync re-applies the product configuration to every linked service, and Align panel expiry to WHMCS sets every line's expiry from its due date. The page is Bulk Tools.

Do I need to run Index before Align panel expiry to WHMCS? Only if some services are not linked yet. Align runs over the services that already show a panel line on their service page. Services created by the module are linked from the start; lines that existed before the module need Index and Link once. Unlinked services are simply left out of the run, so running Align without indexing is safe, it just covers fewer services.

Does Sync change the expiry date? No. Sync pushes bouquets, notes and connection count only. The expiry is handled by the two expiry buttons on the service page and by the Align card in Bulk tools.

Updates, keys and connectivity

How do I update the module? From the addon dashboard: when a new version exists a card shows it with an Update now button. The module downloads the release, verifies it, swaps the two folders and rolls back on any failure. Manual installation is only needed the first time. See Install.

Test Connection fails or every call returns 403 since I moved the panel domain to Cloudflare. Cloudflare's proxy (orange cloud) answers the module's requests with a browser challenge that a server cannot pass. Either set the panel's DNS record to DNS only (grey cloud), or add a WAF rule in Cloudflare that skips the challenge for paths starting with /panel-api/. Nothing needs to change in the module.

I revoked a key by mistake. What now? Create a new key on the panel with the same scopes, edit the panel entry in the addon, paste the new token and press Test Connection. Existing services keep working; only the token changed.

Where are the module's logs? In Addons → Xtream AI Panel → Module Logs, a view of WHMCS's own module log filtered to this module. Every panel call is recorded; tokens never appear there, so the log is safe to share with support.

Is the module free? Yes. It is open source under the MIT license, published at github.com/Xtream-AI/whmcs-xtreamai. Only the panel license is paid.

Which WHMCS and panel versions do I need? WHMCS 8.0 or newer, PHP 7.2 or newer, and an Xtream AI Panel on 2.1.2 or newer with the Panel API enabled. Product upgrades and downgrades additionally need a panel updated on 2026-09-14 or later.