Automate
everything.
Resell our infrastructure under your brand. Plug-and-play billing platform integrations, plus complete REST API references for VPS and proxy provisioning.
Authentication
All API requests require authentication via the X-Reseller-Key header.
Keep your API key secret. Never expose it in client-side code.
Base URL
Response Format
All endpoints return JSON. Successful responses:
Error responses:
?action=plans
List available VPS plans with your reseller pricing.
Each plan includes a product_line field (VPS, VDS or VDSPRO). Upgrades are only allowed to a higher-priced plan in the same product line and the same location; use this field to build valid upgrade paths programmatically.
?action=account
Get reseller account information including balance, discount, and payment method.
Example Response
?action=servers
List all servers belonging to the reseller.
?action=server&id={server_id}
Get detailed information for a specific server including password.
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
Example Response
?action=console&id={server_id}
Get noVNC console URL for a server.
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
?action=graphs&id={server_id}
Get resource usage time series for an active server. Ideal for rendering CPU / RAM / network graphs in your own customer panel.
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
timeframe | string | 1hr (default) or 24hr |
Returns three arrays of data points. cpu points carry cpu as percent (0-100). ram points carry ram as percent of the plan's total RAM (0-100). network points carry in and out in KB/s. Each point includes a date unix timestamp.
?action=create
$ PaidProvision a new server on leased infrastructure. Password is auto-generated by the provider.
Price is prorated by days. Orders shorter than 31 days carry a 10% short-term fee, which is already included in the returned amount_charged.
| Parameter | Type | Description |
|---|---|---|
plan_id * | integer | Plan ID from GET ?action=plans |
hostname * | string | up to 16 alphanumeric characters |
os * | string | debian12, ubuntu24, centos10, winserv25, winserv22 |
days | integer | 1-365 (default: 31). Under 31 days adds a 10% short-term fee. |
?action=renew&id={server_id}
$ PaidRenew/extend a server subscription.
Price is prorated by days. Renewals shorter than 31 days carry a 10% short-term fee, which is already included in the returned amount_charged.
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
days * | integer | 1-365. Under 31 days adds a 10% short-term fee. |
?action=upgrade&id={server_id}
$ PaidUpgrade a server to a higher plan. Prorated charge for the remaining days. This is an in-place resize: data, IP and OS are preserved.
The target plan must be in the same location and the same product line as the current server, and a higher tier. You cannot change location or switch lines (e.g. VPS to VDS) via an upgrade. You can only move up within your current line:
| Product line | Upgrade path (by plan tier) |
|---|---|
| VPS | VPS-100 → VPS-150 → VPS-200 → VPS-250 |
| VDS | VDS-150 → VDS-300 → VDS-450 |
| VDS-Pro | VDS-100 → VDS-200 → VDS-250 → VDS-350 → VDS-400 |
For example: a VPS-100 in France can upgrade to VPS-150/200/250 in France, but not to any VDS plan and not to a plan in another location. Use ?action=plans to find the matching plan's id in the same location.
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
plan_id * | integer | Target plan ID (from ?action=plans). Must be same location, same line, higher tier. |
?action=terminate&id={server_id}
Permanently delete a server (no refund).
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
?action=power&id={server_id}
Execute power actions on a server.
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
action * | string | start, stop, or restart |
?action=reinstall&id={server_id}
Reinstall the operating system (wipes all data).
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
os * | string | debian12, ubuntu24, centos10, winserv25, winserv22 |
?action=changepass&id={server_id}
Reset the server's root (or Administrator on Windows) password. A new password is generated automatically; retrieve it via ?action=server once the task completes.
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
?action=fixnetwork&id={server_id}
Reset the server's networking configuration. Useful when a server loses connectivity after a misconfiguration.
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
?action=hostname&id={server_id}
Update server hostname.
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
hostname * | string | New hostname (up to 16 alphanumeric characters) |
?action=ip&id={server_id}
$ PaidChange the server's IP address. This is a paid operation, charged at the flat IP-change price (your reseller discount does not apply to IP changes).
| Parameter | Type | Description |
|---|---|---|
id * | string | 8-character server ID |
Error Responses
All errors return JSON with success: false and an error message.
401 Unauthorized
404 Not Found
400 Bad Request
PHP Example
<?php
$apiKey = "your_api_key_here";
$baseUrl = "https://servury.com/api/legacy.php";
function apiRequest($endpoint, $apiKey, $method = 'GET', $data = null) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-Reseller-Key: $apiKey",
"Content-Type: application/json"
]);
if ($method === 'POST') {
curl_setopt($ch, CURLOPT_POST, true);
if ($data) {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
}
}
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// Check balance
$account = apiRequest("$baseUrl?action=account", $apiKey);
echo "Balance: $" . $account['data']['balance'];
// Create a server
$newServer = apiRequest("$baseUrl?action=create", $apiKey, 'POST', [
'plan_id' => 5,
'hostname' => 'myserver',
'os' => 'debian12',
'days' => 31
]);
// Power cycle a server
$result = apiRequest("$baseUrl?action=power&id=abc12345", $apiKey, 'POST', [
'action' => 'restart'
]);