Deactivate License
curl --request POST \
--url https://sandboxapi.kelviq.com/api/v1/license/deactivate/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"licenseKey": "KLVQ-PRO-1234-ABCD-9999",
"instanceId": "8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h"
}
'import requests
url = "https://sandboxapi.kelviq.com/api/v1/license/deactivate/"
payload = {
"licenseKey": "KLVQ-PRO-1234-ABCD-9999",
"instanceId": "8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
licenseKey: 'KLVQ-PRO-1234-ABCD-9999',
instanceId: '8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h'
})
};
fetch('https://sandboxapi.kelviq.com/api/v1/license/deactivate/', 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://sandboxapi.kelviq.com/api/v1/license/deactivate/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'licenseKey' => 'KLVQ-PRO-1234-ABCD-9999',
'instanceId' => '8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://sandboxapi.kelviq.com/api/v1/license/deactivate/"
payload := strings.NewReader("{\n \"licenseKey\": \"KLVQ-PRO-1234-ABCD-9999\",\n \"instanceId\": \"8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandboxapi.kelviq.com/api/v1/license/deactivate/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"licenseKey\": \"KLVQ-PRO-1234-ABCD-9999\",\n \"instanceId\": \"8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandboxapi.kelviq.com/api/v1/license/deactivate/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"licenseKey\": \"KLVQ-PRO-1234-ABCD-9999\",\n \"instanceId\": \"8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h\"\n}"
response = http.request(request)
puts response.read_body{
"message": "License instance deactivated successfully.",
"deactivatedAt": "2026-01-27T10:35:00Z"
}{
"licenseKey": [
"This field is required."
],
"instanceId": [
"This field is required."
]
}{
"error": "Invalid license key or instance ID."
}License
Deactivate License
POST
/
license
/
deactivate
/
Deactivate License
curl --request POST \
--url https://sandboxapi.kelviq.com/api/v1/license/deactivate/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"licenseKey": "KLVQ-PRO-1234-ABCD-9999",
"instanceId": "8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h"
}
'import requests
url = "https://sandboxapi.kelviq.com/api/v1/license/deactivate/"
payload = {
"licenseKey": "KLVQ-PRO-1234-ABCD-9999",
"instanceId": "8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
licenseKey: 'KLVQ-PRO-1234-ABCD-9999',
instanceId: '8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h'
})
};
fetch('https://sandboxapi.kelviq.com/api/v1/license/deactivate/', 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://sandboxapi.kelviq.com/api/v1/license/deactivate/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'licenseKey' => 'KLVQ-PRO-1234-ABCD-9999',
'instanceId' => '8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://sandboxapi.kelviq.com/api/v1/license/deactivate/"
payload := strings.NewReader("{\n \"licenseKey\": \"KLVQ-PRO-1234-ABCD-9999\",\n \"instanceId\": \"8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandboxapi.kelviq.com/api/v1/license/deactivate/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"licenseKey\": \"KLVQ-PRO-1234-ABCD-9999\",\n \"instanceId\": \"8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandboxapi.kelviq.com/api/v1/license/deactivate/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"licenseKey\": \"KLVQ-PRO-1234-ABCD-9999\",\n \"instanceId\": \"8f3e2b1a-5c6d-4e9f-8a0b-1c2d3e4f5g6h\"\n}"
response = http.request(request)
puts response.read_body{
"message": "License instance deactivated successfully.",
"deactivatedAt": "2026-01-27T10:35:00Z"
}{
"licenseKey": [
"This field is required."
],
"instanceId": [
"This field is required."
]
}{
"error": "Invalid license key or instance ID."
}Click the base URL in the API playground and select the Sandbox host for test data or the Production host for live data. Use credentials from the same environment.
Authorizations
The Server API Key obtained from the kelviq application. Pass as a Bearer token in the Authorization header. Example: 'Authorization: Bearer YOUR_API_KEY'
⌘I