createacct
Create Account
This is to create an Eenos hosting account. You can also create a hosting account with reseller privileges.
Required Headers
| Field | Description | Example |
| X-RESELLER | The reseller account user name | alphareseller |
| X-API-USER | API user name | eenos_api |
| X-API-PASSWORD | API user password | eenos123 |
Required Parameters
These parameters are mandatory, or else you will receive a 400 error code.
| Field | Description | Example |
| domain | Client's main website name | myclientsite.com |
| user | A username for eenos account | myclient |
| Contact email address of the client | contact@myclientsite.com | |
| package | Hosting plan or package name | Bronze |
Optional Parameters
| Field | Description | Example |
| password | A password for Eenos login will be auto-generated if not given | changeme |
| language | The language code for the eenos control panel, default, is 'en' | en |
| theme | If you have a custom theme name, the default theme is 'default' | default |
| mailserver | Use a local or remote mail server, default 'local' | local |
| dkim | To enable DKIM, values are accepted as 'off' or 'on' | off |
| spf | To enable SPF, the accepted values are 'off' or 'on' | off |
| reseller | To make this account a reseller, accepted values are 'off' or 'on' | on |
| resellerself | Self-own accounts in case of reseller, values accepted 'off' or 'on' | on |
| use_registrar_ns | To use domain registrar NS records, accepted values are 'off' or 'on' | on |
| ipv4 | To enable dedicated IPv4, the accepted values are 'off' or 'on'. This will override the package feature | off |
| ipv6 | To enable dedicated IPv6, the accepted values are 'off' or 'on'. This will override the package feature | off |
| shell | To enable jailshell access, the accepted values are 'off' or 'on | off |
| reseller_bandwidth |
Reseller combined bandwidth limit. Values accepted unlimited or number (MB) |
unlimited |
| reseller_limt | Number of accounts a reseller can create, values accepted unlimited or number | 10 |
| reseller_quota | Reseller combined disk quota, values accepted unlimited or number (MB) | 20000 |
| addondomains | Number of addon domains, values accepted unlimited or number | unlimited |
| parkeddomains | limit of Domain parking, values accepted unlimited or number | 10 |
| subdomains | Number of subdomains, values accepted: unlimited or a number | 100 |
| email_accounts | Number of email accounts, values accepted unlimited or number | 150 |
| ftp | Number of ftp accounts, values accepted: unlimited or number | 10 |
| sql | Number of databases, values accepted unlimited or number | unlimited |
| bandwidth | Hosting account bandwidth limit, values accepted unlimited or number (MB) | 50000 |
| quota | Hosting account disk quota, values accepted unlimited or number (MB) | 10000 |
| mailquota | Hosting account default email quota, values accepted unlimited or number (MB) | 512 |
Result Status Codes
| Status Code | Description |
| 200 | Success |
| 500 | Server Error |
| 403 | Forbidden, demo server |
| 400 | Bad data request |
Request URL
Post url = /createacct/
Full URL = https://your-host-name:4444/api/createacct/
Curl Code
#!/bin/bash
REQUEST_URL="/createacct/"
BASE_URL="https://your-host-name:4444/api/v1"
API_URL="$BASE_URL$REQUEST_URL"
/usr/bin/curl -X POST "$API_URL" \
-H "X-RESELLER: alphareseller" \
-H "X-API-USER: eenos_api" \
-H "X-API-PASSWORD: eenos123" \
-d "domain=myclientsite.com" \
-d "user=myclient" \
-d "email=contact@myclientsite.com" \
-d "package=Brownse"
Sample Output
{'data': {'addondomains': 'unlimited',
'bandwidth': 'unlimited',
'contactemail': 'contact@myclientsite.com',
'dedicatedip': {'ipv4': 'xxx.xx.xx.xxx',
'ipv6': '2a01:0xxx:0xxx:2xxx:0000:0000:0000:xxxx',
'status': 'off',
'status6': 'off'},
'dkim': 'off',
'domain': 'myclientsite.com',
'email': 'unlimited',
'feature': 'Default',
'ftp': 'unlimited',
'homedir': '/home/myclient',
'language': 'en',
'maillist': 'unlimited',
'mailquota': 'unlimited',
'mailserver': 'local',
'nameservers': ['ns1.eenos.com', 'ns2.eenos.com'],
'owner': 'root',
'package': 'Brownse',
'parkeddomains': 'unlimited',
'quota': 'unlimited',
'reseller': {'selfown': 'off', 'status': 'off'},
'setuptime': '2022-12-12 07:47',
'shell': {'shell': '/sbin/nologin', 'status': 'off'},
'spf': 'off',
'sql': 'unlimited',
'subdomains': 'unlimited',
'theme': 'default',
'user': 'myclient'},
'info': 'Hosting account created successfully',
'status': 200}
Python Code
#!/usr/bin/python3
import requests
from pprint import pprint
# ---------------------------------------------------------------------
# API VERSION RULES
# ---------------------------------------------------------------------
# Default API (stable):
# https://your-host-name:4444/api/
#
# Versioned API (recommended for production / future compatibility):
# https://your-host-name:4444/api/v1/
#
# Endpoint example (account creation):
# createacct/
# Full versioned URL:
# https://your-host-name:4444/api/v1/createacct/
#
# Use versioned endpoints when API structure may change across releases.
# ---------------------------------------------------------------------
# API URL (versioned)
api_url = "https://your-host-name:4444/api/v1/createacct/"
# If using default API, uncomment below:
# api_url = "https://your-host-name:4444/api/createacct/"
# Authentication headers (new API format)
headers = {
"X-RESELLER": "alphareseller",
"X-API-USER": "eenos_api",
"X-API-PASSWORD": "eenos123",
}
# Payload data
data = {
"domain": "myclientsite.com",
"user": "myclient",
"email": "contact@myclientsite.com",
"package": "Brownse"
}
try:
response = requests.post(api_url, headers=headers, data=data)
response.raise_for_status()
pprint(response.json())
except Exception as e:
pprint(str(e))
PHP Code
<?php
/*
|--------------------------------------------------------------------------
| API VERSION RULES
|--------------------------------------------------------------------------
| Default API (stable):
| https://your-host-name:4444/api/
|
| Versioned API (recommended for production / future compatibility):
| https://your-host-name:4444/api/v1/
|
| Endpoint example (account creation):
| createacct/
| Full versioned URL:
| https://your-host-name:4444/api/v1/createacct/
|
| Use versioned endpoints when API structure may change across releases.
|--------------------------------------------------------------------------
*/
// API request URL (versioned)
$request_url = '/createacct/';
/*
|--------------------------------------------------------------------------
| BASE URL SELECTION
|--------------------------------------------------------------------------
*/
// Versioned API base URL
$base_url = 'https://your-host-name:4444/api/v1';
// Default API base URL (uncomment if needed)
// $base_url = 'https://your-host-name:4444/api';
// Full API URL
$api_url = $base_url . $request_url;
// POST payload
$fields = [
'domain' => 'myclientsite.com',
'user' => 'myclient',
'email' => 'contact@myclientsite.com',
'package' => 'Brownse'
];
// Initialize cURL
$ch = curl_init($api_url);
// Set options
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Authentication headers (new API format)
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-RESELLER: alphareseller",
'X-API-USER: eenos_api',
'X-API-PASSWORD: eenos123'
]);
// Execute request
$result = curl_exec($ch);
// Error handling
if (curl_errno($ch)) {
echo 'cURL Error: ' . curl_error($ch);
} else {
echo json_encode(json_decode($result), JSON_PRETTY_PRINT);
}
// Close connection
curl_close($ch);
?>