curl --request POST \
--url https://order.edisglobal.com/kvm/v2/get/products \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data email=yourwhmc_email \
--data pw=yourwhmc_password \
--data location_id=location_idimport requests
url = "https://order.edisglobal.com/kvm/v2/get/products"
payload = {
"email": "yourwhmc_email",
"pw": "yourwhmc_password",
"location_id": "location_id"
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({email: 'yourwhmc_email', pw: 'yourwhmc_password', location_id: 'location_id'})
};
fetch('https://order.edisglobal.com/kvm/v2/get/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://order.edisglobal.com/kvm/v2/get/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "email=yourwhmc_email&pw=yourwhmc_password&location_id=location_id",
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://order.edisglobal.com/kvm/v2/get/products"
payload := strings.NewReader("email=yourwhmc_email&pw=yourwhmc_password&location_id=location_id")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://order.edisglobal.com/kvm/v2/get/products")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("email=yourwhmc_email&pw=yourwhmc_password&location_id=location_id")
.asString();require 'uri'
require 'net/http'
url = URI("https://order.edisglobal.com/kvm/v2/get/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "email=yourwhmc_email&pw=yourwhmc_password&location_id=location_id"
response = http.request(request)
puts response.read_body{
"products": {
"KVM SMART": {
"id": 106,
"description": {
"disk": {
"size": 15,
"unit": "GByte"
},
"ram": {
"size": 1024,
"unit": "MByte"
},
"cpu": {
"size": 1,
"unit": "core/socket"
},
"traffic": {
"size": 1,
"unit": "TByte"
},
"price": {
"monthly": {
"amount": "7.99",
"currency": "EUR"
},
"quarterly": {
"amount": "23.97",
"currency": "EUR"
},
"semiannually": {
"amount": "47.94",
"currency": "EUR"
},
"annually": {
"amount": "87.89",
"currency": "EUR"
}
}
},
"addons": {
"operating system": {
"88": {
"id": 88,
"description": "Ubuntu LTS 20.04 64Bit"
},
"92": {
"id": 92,
"description": "alternative / manual installation via VNC"
},
"208": {
"id": 208,
"description": "Debian 12 (Bookworm) 64Bit"
}
},
"additional ram": {
"396": {
"id": 396,
"description": "+1GB",
"price": {
"monthly": {
"amount": "5.00",
"currency": "EUR"
}
}
},
"416": {
"id": 416,
"description": "no"
}
},
"additional ip": {
"8": {
"id": 8,
"description": "no additional IPs",
"price": {
"monthly": {
"amount": "0.00",
"currency": "EUR"
}
}
},
"9": {
"id": 9,
"description": "1 IP",
"price": {
"monthly": {
"amount": "5.00",
"currency": "EUR"
}
}
}
}
}
},
"KVM STARTER": {
"id": 99,
"description": {
"disk": {
"size": 20,
"unit": "GByte"
},
"ram": {
"size": 2048,
"unit": "MByte"
},
"cpu": {
"size": 1,
"unit": "core/socket"
},
"traffic": {
"size": 2,
"unit": "TByte"
},
"price": {
"monthly": {
"amount": "12.99",
"currency": "EUR"
},
"quarterly": {
"amount": "38.97",
"currency": "EUR"
},
"semiannually": {
"amount": "77.94",
"currency": "EUR"
},
"annually": {
"amount": "142.89",
"currency": "EUR"
}
}
},
"addons": {
"operating system": {
"88": {
"id": 88,
"description": "Ubuntu LTS 20.04 64Bit"
},
"92": {
"id": 92,
"description": "alternative / manual installation via VNC"
},
"208": {
"id": 208,
"description": "Debian 12 (Bookworm) 64Bit"
}
},
"additional ram": {
"396": {
"id": 396,
"description": "+1GB",
"price": {
"monthly": {
"amount": "5.00",
"currency": "EUR"
}
}
},
"416": {
"id": 416,
"description": "no"
}
},
"additional drive boost": {
"605": {
"id": 605,
"description": "100GB",
"price": {
"monthly": {
"amount": "29.00",
"currency": "EUR"
}
}
}
}
}
}
},
"status": "success"
}{
"status": "error",
"message": "Invalid parameters or missing fields.",
"errors": [
"location ID is required",
"invalid email format"
]
}{
"status": "error",
"message": "Invalid WHMCS credentials provided.",
"suggestion": "Please check your username and password and try again."
}{
"status": "error",
"message": "The specified location ID does not exist.",
"hint": "Please verify the location ID and ensure it is correct."
}Look up available VPS plans
Get available VPS plans and their configurations for a given location using your WHMCS credentials and the location ID retrieved from the get locations endpoint.
How to find the ordering OS ID
Retrieve the location ID with Get VPS locations, then call this endpoint with that location_id. Find the desired product and confirm its id. Within that product, match the OS by its description under addons → operating system and use that option’s numeric id as the order’s os value.
For example, a read-only lookup on 6 October 2026 with location_id=157 (Schiphol-Rijk / Amsterdam, Netherlands) returned this excerpt:
{
"products": {
"KVM SMART": {
"id": 1502,
"addons": {
"operating system": {
"626": {
"id": 626,
"description": "Debian 13 (Trixie) 64Bit"
}
}
}
}
},
"status": "success"
}
This maps to "pid": 1502 and "os": 626 in an order item. These are Order API selectors; a Management API image ID is not a substitute for this product-specific mapping. Re-fetch current values before ordering. If the requested OS is absent, stop and contact support rather than guessing an ID.
This lookup is read-only and does not create an order or reserve a VPS. For complete commands and the final order payload, see KVM SMART in the Netherlands with Debian 13.
curl --request POST \
--url https://order.edisglobal.com/kvm/v2/get/products \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data email=yourwhmc_email \
--data pw=yourwhmc_password \
--data location_id=location_idimport requests
url = "https://order.edisglobal.com/kvm/v2/get/products"
payload = {
"email": "yourwhmc_email",
"pw": "yourwhmc_password",
"location_id": "location_id"
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({email: 'yourwhmc_email', pw: 'yourwhmc_password', location_id: 'location_id'})
};
fetch('https://order.edisglobal.com/kvm/v2/get/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://order.edisglobal.com/kvm/v2/get/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "email=yourwhmc_email&pw=yourwhmc_password&location_id=location_id",
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://order.edisglobal.com/kvm/v2/get/products"
payload := strings.NewReader("email=yourwhmc_email&pw=yourwhmc_password&location_id=location_id")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://order.edisglobal.com/kvm/v2/get/products")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("email=yourwhmc_email&pw=yourwhmc_password&location_id=location_id")
.asString();require 'uri'
require 'net/http'
url = URI("https://order.edisglobal.com/kvm/v2/get/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "email=yourwhmc_email&pw=yourwhmc_password&location_id=location_id"
response = http.request(request)
puts response.read_body{
"products": {
"KVM SMART": {
"id": 106,
"description": {
"disk": {
"size": 15,
"unit": "GByte"
},
"ram": {
"size": 1024,
"unit": "MByte"
},
"cpu": {
"size": 1,
"unit": "core/socket"
},
"traffic": {
"size": 1,
"unit": "TByte"
},
"price": {
"monthly": {
"amount": "7.99",
"currency": "EUR"
},
"quarterly": {
"amount": "23.97",
"currency": "EUR"
},
"semiannually": {
"amount": "47.94",
"currency": "EUR"
},
"annually": {
"amount": "87.89",
"currency": "EUR"
}
}
},
"addons": {
"operating system": {
"88": {
"id": 88,
"description": "Ubuntu LTS 20.04 64Bit"
},
"92": {
"id": 92,
"description": "alternative / manual installation via VNC"
},
"208": {
"id": 208,
"description": "Debian 12 (Bookworm) 64Bit"
}
},
"additional ram": {
"396": {
"id": 396,
"description": "+1GB",
"price": {
"monthly": {
"amount": "5.00",
"currency": "EUR"
}
}
},
"416": {
"id": 416,
"description": "no"
}
},
"additional ip": {
"8": {
"id": 8,
"description": "no additional IPs",
"price": {
"monthly": {
"amount": "0.00",
"currency": "EUR"
}
}
},
"9": {
"id": 9,
"description": "1 IP",
"price": {
"monthly": {
"amount": "5.00",
"currency": "EUR"
}
}
}
}
}
},
"KVM STARTER": {
"id": 99,
"description": {
"disk": {
"size": 20,
"unit": "GByte"
},
"ram": {
"size": 2048,
"unit": "MByte"
},
"cpu": {
"size": 1,
"unit": "core/socket"
},
"traffic": {
"size": 2,
"unit": "TByte"
},
"price": {
"monthly": {
"amount": "12.99",
"currency": "EUR"
},
"quarterly": {
"amount": "38.97",
"currency": "EUR"
},
"semiannually": {
"amount": "77.94",
"currency": "EUR"
},
"annually": {
"amount": "142.89",
"currency": "EUR"
}
}
},
"addons": {
"operating system": {
"88": {
"id": 88,
"description": "Ubuntu LTS 20.04 64Bit"
},
"92": {
"id": 92,
"description": "alternative / manual installation via VNC"
},
"208": {
"id": 208,
"description": "Debian 12 (Bookworm) 64Bit"
}
},
"additional ram": {
"396": {
"id": 396,
"description": "+1GB",
"price": {
"monthly": {
"amount": "5.00",
"currency": "EUR"
}
}
},
"416": {
"id": 416,
"description": "no"
}
},
"additional drive boost": {
"605": {
"id": 605,
"description": "100GB",
"price": {
"monthly": {
"amount": "29.00",
"currency": "EUR"
}
}
}
}
}
}
},
"status": "success"
}{
"status": "error",
"message": "Invalid parameters or missing fields.",
"errors": [
"location ID is required",
"invalid email format"
]
}{
"status": "error",
"message": "Invalid WHMCS credentials provided.",
"suggestion": "Please check your username and password and try again."
}{
"status": "error",
"message": "The specified location ID does not exist.",
"hint": "Please verify the location ID and ensure it is correct."
}Body
Was this page helpful?