# SPanel

https://docs.wisecp.com/en/spanel

Connect SPanel to provision hosting accounts and let customers manage supported hosting tools from WISECP.

## Accessing the Screen

Open **Products / Services → Servers** and click **Add New Server**. In **Server Automation Module**, select **SPanel**. The address is `{admin}/products/servers-add`.

## Before You Connect

In SPanel’s **Manage API Tokens**, prepare an ADMIN token for account management. For customer tools, also prepare a USER token for **All users**. These are separate credentials; the admin token cannot replace the user token. See the [official API guide](https://www.spanel.io/docs/article/api-functions/api-basics/) for token scopes and endpoint details.

WISECP needs network access to SPanel, an available module license, an active server record and a hosting product priced in the selected currency. Create assignable hosting packages in SPanel first. Saved servers provide **Preferences**, **Linked Services** and **Import**.

## Connection and Product Settings

- **Address / Hostname**: Required. Enter the server IP and its SPanel hostname without a URL path. HTTPS defaults to 443; HTTP to 80. Use Custom Port changes the connection port.
- **Username / Password**: The shared server form requires both before enabling its buttons. Use the panel administrator’s credentials. Account API calls use API Token when supplied.
- **API Token**: Required for this integration. Paste the ADMIN token. Test Connection reads hosting packages with this token; it does not test the USER token or provisioning permissions.
- **User API Token**: Initially empty. Required for customer tools, including FTP, email and databases. Paste the USER token created for All users.
- **API Path**: Defaults to spanel. Enter the panel directory, such as hostpanel when branding changes it. Do not enter the full URL or append api.php.
- **Verify SSL Certificate**: Enabled on new records. Keep SSL and certificate verification enabled with a valid hostname and certificate.
- **Identity and Capacity**: Monthly Cost starts at zero; choose its currency. Maximum Accounts defaults to 200 when empty. The occupancy alert follows this limit. Nameservers accepts four entries.
- **Hosting Package**: Required for provisioning. Select it under product Automation → Module Configuration. Package names must match across a server group.

## Tasks

### Connecting and Testing

1. Complete **Connection Details** and click **Test Connection**. Check the package-read result.
2. Complete **Identity and Capacity**, then click **Add New Server**. Check the saved server; editing uses **Save Changes**.
3. On an existing test service, open **Management** and a permitted tool to verify the USER token separately.

### Mapping a Hosting Product

1. Open the hosting product’s **Automation → Module Assignment** and select **SPanel**.
2. Under **Server Configuration**, select **Single Server** or **Server Group**. Select **Module Configuration → Hosting Package**.
3. Review **Resource Limits** and prices. Keep the first product hidden and **Automatic Setup** disabled.
4. Click **Save Changes**; verify the saved server and package.

Package selection fills disk, email, database, domain and hourly email limits. Missing limits appear unlimited; numeric zero stays zero. Bandwidth, FTP and subdomain limits are not supplied by SPanel packages. Editing shared limits does not provide an independent SPanel quota override.

Provisioning requires a domain and package. It creates an account or reuses an existing matching username. Reusing an account does not verify its domain or package. Confirm the association before retrying an interrupted setup.

### Linking Existing Accounts

In the saved server, click **Import → List Results**. Accounts match by domain. Check the username and domain, then select the customer, product, billing period and dates. Click **Import** below the list; review **Linked Services**.

This links existing accounts; it does not migrate files. Account passwords and the listed package are not saved as service setup settings. Verify the package separately. An empty list can also mean a connection failure.

### Managing Accounts and Tools

Account actions include creation, suspension, reactivation, termination and password changes. In **Management → Settings → Change Package**, select the package and click **Save Changes**. Upgrades change the account’s package quotas without moving its files to another server.

Administrators and customers use enabled tools in **Management**. Server **Preferences** and service restrictions control visibility. All these tools need the USER token:

- Databases: create and delete. A user can be created with a new database; separate user, password and privilege management is unavailable.
- Email accounts: create, edit quota/password and delete. Forwarders support creation/deletion, without editing.
- FTP accounts, addon domains and subdomains: create, edit and delete. FTP quotas are unavailable.
- Domain redirects: create/delete. Cron jobs: create/edit/delete, without notification email settings. PHP INI: read and change supported settings.

Disk and inode gauges and resource counts come from account data. Automatic metrics cover disk, emails, databases, subdomains and addon domains; bandwidth is not reported. Failed account reads can show zero counters, so confirm unexpected values in SPanel.

The **Single Sign-On** connection note describes the token permission. Enable **SSO** on the ADMIN token for customer panel login. The server administrator link opens normal login. See [SPanel’s SSO guide](https://www.spanel.io/docs/article/api-functions/single-sign-on-sso/).

Prices, add-ons and order requirements are not created automatically. There is no periodic package catalog synchronization. Compare an existing test service’s **Management → Overview** and tools with SPanel before enabling automation.

## Important Notes

> **Account and Data Changes**
> 
> Termination deletes the account; back up first and verify the panel result. A failed account lookup can be treated as an absent account. Package changes replace quotas. If database creation fails after creating its user, that user can remain.

## Required Permissions

Server settings require **MODULES_SERVERS_SETTINGS**; product editing requires **PRODUCTS_OPERATION**. Service actions require their corresponding service permissions.

## Related Articles

- [Adding a Server](https://docs.wisecp.com/en/adding-a-server)
- [Product Automation](https://docs.wisecp.com/en/product-automation)
- [Service Management](https://docs.wisecp.com/en/service-management)
