Reseller API
Provision and manage EggyWall VPSs using prepaid reseller balance. Servers created by the API are owned by the reseller account and remain fully accessible through both the API and the normal EggyWall VPS dashboard.
https://eggywall.org/api/reseller/v1/
Authentication
Send the key with either of these headers:
Base URL: https://eggywall.org/api/reseller/v1/
Idempotency
Provisioning, renewal, and VPS resource increases charge reseller balance, so each requires a unique Idempotency-Key header. Repeating a completed request with the same key returns the original result without charging again.
Use a new key for each new billable operation. Maximum length: 128 characters.
Plans and operating systems
Returns currently active VPS plans, list prices, effective prices after the account discount, billing periods and supported operating systems. The response also includes the current account discount percentage.
Balance
Top-ups are created from the reseller panel and credited automatically after NOWPayments confirms the payment. Account discounts do not reduce reseller credit top-ups.
VPS endpoints
| Method | Endpoint | Purpose |
|---|---|---|
| GET | vps.php | List all VPSs owned by the reseller. |
| GET | vps.php?id=123 | Get one VPS. |
| POST | vps.php | Provision and charge balance. |
| DELETE | vps.php?id=123 | Delete a VPS. Deletion does not refund used service credit. |
| POST | resources.php | Increase CPU, RAM and/or storage on an existing VPS and update Proxmox. |
| POST | renew.php | Renew a VPS from balance, including recurring resource extras. |
| POST | action.php | Start, stop, shutdown, reboot or reset. |
| POST | reinstall.php | Reinstall the operating system. |
| POST | rename.php | Rename the VPS in EggyWall. |
| GET | password.php?id=123 | Reveal the current root/Administrator password. |
| POST | console.php | Create a temporary noVNC websocket session. |
Provision VPS
| Field | Required | Description |
|---|---|---|
| plan_id | Yes | Plan ID returned by plans.php. |
| os | Yes | OS ID returned by plans.php, e.g. ubuntu24. |
| external_ref | No | Your own customer/order reference, up to 128 characters. |
| name | No | Optional EggyWall display name, up to 25 characters. |
If provisioning fails, the API returns an error and the reserved wallet charge is refunded.
Increase VPS resources
Increase resources on an already-provisioned reseller VPS. Provisioning always uses the selected standard plan; resource extras are added only afterward. This endpoint only increases resources and never decreases them.
| Field | Required | Description |
|---|---|---|
| id | Yes | Existing reseller VPS ID. |
| add_cores | No | Additional CPU cores. $3.50 per core per 30 days. |
| add_ram_mb | No | Additional RAM in 1024 MB increments. $1.50 per 1024 MB per 30 days. |
| add_storage_gb | No | Additional storage in 10 GB increments. $1.50 per 10 GB per 30 days. |
At least one increase must be greater than zero. Final limits are 20 CPU cores, 122880 MB RAM (120 GB), and 1024 GB storage (1 TB). CPU, RAM and disk are changed on the Proxmox VM. Disk storage is expansion-only.
The immediate wallet charge is prorated for the full service time remaining on the VPS, including multiple prepaid billing periods when applicable. The full recurring addon price is then included in future renewals. If the account has a global discount configured, that discount is applied at charge time.
Renew VPS
The current base plan price plus all recurring resource extras is combined, the account discount is applied, and the resulting amount is deducted from reseller balance. That plan’s billing period is then added to the existing expiry. If already expired, the new period starts from the renewal time. Suspended VPSs are reactivated automatically.
Power actions
Supported actions: start, shutdown, stop, reboot, reset.
Reinstall
Rename and credentials
Console
Returns temporary websocket details for the same EggyWall noVNC console path used by the customer dashboard.
Delete VPS
Errors
Errors always use a JSON object with a machine-readable code and message.
| HTTP | Meaning |
|---|---|
| 400 | Invalid input or VPS action. |
| 401 | Missing, invalid or revoked API key. |
| 402 | Insufficient reseller balance. |
| 404 | VPS or credential not found. |
| 405 | Wrong HTTP method. |
| 409 | Idempotent request is already in progress or its key cannot be reused for a new operation. |
| 502 | Provisioning/renewal failed while contacting infrastructure; balance is refunded when applicable. |