curl --request POST \
--url https://session.edisglobal.com/kvm/v2/get/auth \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data email=your-email@example.com \
--data 'pw=<string>' \
--data 'kvm_id=<string>'import requests
url = "https://session.edisglobal.com/kvm/v2/get/auth"
payload = {
"email": "your-email@example.com",
"pw": "<string>",
"kvm_id": "<string>"
}
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: 'your-email@example.com', pw: '<string>', kvm_id: '<string>'})
};
fetch('https://session.edisglobal.com/kvm/v2/get/auth', 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://session.edisglobal.com/kvm/v2/get/auth",
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=your-email%40example.com&pw=%3Cstring%3E&kvm_id=%3Cstring%3E",
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://session.edisglobal.com/kvm/v2/get/auth"
payload := strings.NewReader("email=your-email%40example.com&pw=%3Cstring%3E&kvm_id=%3Cstring%3E")
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://session.edisglobal.com/kvm/v2/get/auth")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("email=your-email%40example.com&pw=%3Cstring%3E&kvm_id=%3Cstring%3E")
.asString();require 'uri'
require 'net/http'
url = URI("https://session.edisglobal.com/kvm/v2/get/auth")
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=your-email%40example.com&pw=%3Cstring%3E&kvm_id=%3Cstring%3E"
response = http.request(request)
puts response.read_body{
"data": {
"kvm_123456_789012": {
"api_host": "123456.edisglobal.com",
"api_rdns": "dns-api.edis.at",
"kvm_id": "kvm_123456_789012",
"valid_until": 1737476000,
"signature": "12345678901234567890123456789012345678901234567890",
"suspended": "n",
"description": "test-vps-1",
"lps": "01",
"lps_ispremium": false
},
"kvm_234567_890123": {
"api_host": "234567.edisglobal.com",
"api_rdns": "dns-api.edis.at",
"kvm_id": "kvm_234567_890123",
"valid_until": 1737479000,
"signature": "23456789012345678901234567890123456789012345678901",
"suspended": "n",
"description": "test-vps-2",
"lps": "02",
"lps_ispremium": true
}
},
"status": "success"
}{
"error": "Invalid credentials or missing parameters.",
"code": 400,
"message": "Please check your input and try again."
}{
"error": "Unauthorized",
"code": 401,
"message": "Invalid WHMCS credentials. Please provide correct credentials."
}{
"error": "Internal Server Error",
"code": 500,
"message": "An unexpected error occurred. Please try again later."
}Create Auth Session
Use this endpoint to create an authentication session for managing your KVM VPS. Simply provide your WHMCS credentials (email and password) to authenticate requests. Optionally, you can specify a kvm_id to limit the session access to a specific KVM instance
curl --request POST \
--url https://session.edisglobal.com/kvm/v2/get/auth \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data email=your-email@example.com \
--data 'pw=<string>' \
--data 'kvm_id=<string>'import requests
url = "https://session.edisglobal.com/kvm/v2/get/auth"
payload = {
"email": "your-email@example.com",
"pw": "<string>",
"kvm_id": "<string>"
}
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: 'your-email@example.com', pw: '<string>', kvm_id: '<string>'})
};
fetch('https://session.edisglobal.com/kvm/v2/get/auth', 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://session.edisglobal.com/kvm/v2/get/auth",
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=your-email%40example.com&pw=%3Cstring%3E&kvm_id=%3Cstring%3E",
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://session.edisglobal.com/kvm/v2/get/auth"
payload := strings.NewReader("email=your-email%40example.com&pw=%3Cstring%3E&kvm_id=%3Cstring%3E")
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://session.edisglobal.com/kvm/v2/get/auth")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("email=your-email%40example.com&pw=%3Cstring%3E&kvm_id=%3Cstring%3E")
.asString();require 'uri'
require 'net/http'
url = URI("https://session.edisglobal.com/kvm/v2/get/auth")
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=your-email%40example.com&pw=%3Cstring%3E&kvm_id=%3Cstring%3E"
response = http.request(request)
puts response.read_body{
"data": {
"kvm_123456_789012": {
"api_host": "123456.edisglobal.com",
"api_rdns": "dns-api.edis.at",
"kvm_id": "kvm_123456_789012",
"valid_until": 1737476000,
"signature": "12345678901234567890123456789012345678901234567890",
"suspended": "n",
"description": "test-vps-1",
"lps": "01",
"lps_ispremium": false
},
"kvm_234567_890123": {
"api_host": "234567.edisglobal.com",
"api_rdns": "dns-api.edis.at",
"kvm_id": "kvm_234567_890123",
"valid_until": 1737479000,
"signature": "23456789012345678901234567890123456789012345678901",
"suspended": "n",
"description": "test-vps-2",
"lps": "02",
"lps_ispremium": true
}
},
"status": "success"
}{
"error": "Invalid credentials or missing parameters.",
"code": 400,
"message": "Please check your input and try again."
}{
"error": "Unauthorized",
"code": 401,
"message": "Invalid WHMCS credentials. Please provide correct credentials."
}{
"error": "Internal Server Error",
"code": 500,
"message": "An unexpected error occurred. Please try again later."
}Body
Required credentials to authenticate and create a session. Optionally, you can include kvm_id to target a specific KVM.
Your WHMCS account email address used for login. This is the same email you use to sign in to your WHMCS client area.
"your-email@example.com"
Your WHMCS account password.
⚠️ Important: If your password contains special characters (such as +, &, =), the default cURL snippet using --data may not work correctly.
✅ To avoid issues:
- Use
--data-urlencode "pw=your-password", or - URL-encode your password manually before using it with the
--dataflag.
🔧 You can encode your password using this online tool.
Example: your-password
(Optional) The unique identifier of the KVM to filter the session.
If not provided, the session applies to all KVMs associated with your account.
Was this page helpful?