API Reference
Verify license
Verifies the validity of a license key.
POST
/
api
/
v1
/
licenses
/
verify
Verify license
curl --request POST \
--url https://licenses.screech.dev/api/v1/licenses/verify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"licenseKey": "<string>",
"productId": "<string>",
"customerId": "<string>",
"hardwareIdentifier": "<string>"
}
'import requests
url = "https://licenses.screech.dev/api/v1/licenses/verify"
payload = {
"licenseKey": "<string>",
"productId": "<string>",
"customerId": "<string>",
"hardwareIdentifier": "<string>"
}
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: '<string>',
productId: '<string>',
customerId: '<string>',
hardwareIdentifier: '<string>'
})
};
fetch('https://licenses.screech.dev/api/v1/licenses/verify', 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://licenses.screech.dev/api/v1/licenses/verify",
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' => '<string>',
'productId' => '<string>',
'customerId' => '<string>',
'hardwareIdentifier' => '<string>'
]),
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://licenses.screech.dev/api/v1/licenses/verify"
payload := strings.NewReader("{\n \"licenseKey\": \"<string>\",\n \"productId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"hardwareIdentifier\": \"<string>\"\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://licenses.screech.dev/api/v1/licenses/verify")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"licenseKey\": \"<string>\",\n \"productId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"hardwareIdentifier\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://licenses.screech.dev/api/v1/licenses/verify")
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\": \"<string>\",\n \"productId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"hardwareIdentifier\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"license": {
"ipLimit": 123,
"hwidLimit": 123,
"expirationDate": "2023-11-07T05:31:56Z",
"expirationDays": 123,
"metadata": {}
},
"products": [
{
"id": "<string>",
"name": "<string>",
"metadata": {}
}
],
"customers": [
{
"id": "<string>",
"username": "<string>",
"metadata": {}
}
]
},
"result": {
"valid": true,
"message": "<string>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
The license key to verify. This is the key that was provided to the user when they purchased or received the license.
The ID of the product associated with the license. This is used to verify that the license is valid for the specified product.
The ID of the customer associated with the license. This is used to verify that the license is valid for the specified customer.
A unique identifier for the client hardware. Typically a hardware ID or another identifier that remains consistent across sessions.
⌘I
Verify license
curl --request POST \
--url https://licenses.screech.dev/api/v1/licenses/verify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"licenseKey": "<string>",
"productId": "<string>",
"customerId": "<string>",
"hardwareIdentifier": "<string>"
}
'import requests
url = "https://licenses.screech.dev/api/v1/licenses/verify"
payload = {
"licenseKey": "<string>",
"productId": "<string>",
"customerId": "<string>",
"hardwareIdentifier": "<string>"
}
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: '<string>',
productId: '<string>',
customerId: '<string>',
hardwareIdentifier: '<string>'
})
};
fetch('https://licenses.screech.dev/api/v1/licenses/verify', 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://licenses.screech.dev/api/v1/licenses/verify",
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' => '<string>',
'productId' => '<string>',
'customerId' => '<string>',
'hardwareIdentifier' => '<string>'
]),
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://licenses.screech.dev/api/v1/licenses/verify"
payload := strings.NewReader("{\n \"licenseKey\": \"<string>\",\n \"productId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"hardwareIdentifier\": \"<string>\"\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://licenses.screech.dev/api/v1/licenses/verify")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"licenseKey\": \"<string>\",\n \"productId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"hardwareIdentifier\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://licenses.screech.dev/api/v1/licenses/verify")
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\": \"<string>\",\n \"productId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"hardwareIdentifier\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"license": {
"ipLimit": 123,
"hwidLimit": 123,
"expirationDate": "2023-11-07T05:31:56Z",
"expirationDays": 123,
"metadata": {}
},
"products": [
{
"id": "<string>",
"name": "<string>",
"metadata": {}
}
],
"customers": [
{
"id": "<string>",
"username": "<string>",
"metadata": {}
}
]
},
"result": {
"valid": true,
"message": "<string>"
}
}