Authenticates and verifies a license. If auto-creation is enabled for the product, a license will be automatically generated with the provided connection (platform and value) as needed. Authentication includes checking the product name, server and IP limitations, and blacklists.
Query Parameters
Name
Type
Description
key
String
The license key. Required if auto-creation is disabled for the product (automatically generated otherwise).
product*
String
The name of the license's product.
connectionPlatform
String
The name of the platform of the
connectionValue. Required if auto-creation is enabled
for the product.
connectionValue
String
The value of the connection with
connectionPlatform. Required if auto-creation is enabled for the product.
server*
String
The unique identifier of the server using this license.
ip
String
The IP address of the server using this license. If not provided, the IP address of the client making the request will be used. If your Sentinel server is under a proxy, you should provide a value so that the proxy's IP address is not inadvertently used.
License authenticated.
Invalid product name.
Product does not allow auto-creation of licenses.
License has an incorrect product name.
Connection platform and value is required for auto-creation of licenses.
No license with the specified key was found.
License has expired.
License is blacklisted.
{"timestamp": 1685491433290,"status": "FORBIDDEN","type": "BLACKLISTED_LICENSE","message": "License is blacklisted.","result": {"issuer":"Admin","timestamp":"2022-09-30T21:11:21.554","reason":"Unauthorized redistribution." }}
License has reached its server limit.
{"timestamp": 1685491433290,"status": "FORBIDDEN","type": "EXCESSIVE_SERVERS","message": "License has reached its server limit.","result": {"maxServers":"10" }}
{"timestamp": 1685491433290,"status": "FORBIDDEN","type": "EXCESSIVE_IPS","message": "License has reached its IP limit.","result": {"maxIps":"10" }}
Provided connection value does not match the one on record.
{"timestamp":1688432030655,"status":"FORBIDDEN","type":"CONNECTION_MISMATCH","message":"Provided connection value does not match the one on record.","result":null}
Search for a license with a connection.
GEThttps://example.com/api/v1/licenses/search
Finds licenses with the provided connection platform and value (ex. Discord ID or email address).
If a product is provided, either one license or null will be returned (since every connection must be unique for a single product).
If no product is provided, a list of found licenses will be returned.
Query Parameters
Name
Type
Description
product
String
The name of the product. If provided, one license or null will be returned. If not provided, a list of found licenses will be returned.
plaform*
String
The name of the connected platform.
value*
String
The value for the connected platform.
With Product
License found with the provided product and connection.
{"timestamp":1685491433290,"status":"OK","type":"SUCCESS","message":"License found with the provided product and connection.","result": {"license": {"key":"EQPDQNOU5A6PPSICTNSVGJV6SK","product": {"name":"Product1","defaultMaxServers":3,"defaultMaxIps":3,"autoCreateLicenses":false },"issuer":"Admin","createdAt":"2023-04-09T16:52:26.067","expiration":null,"maxServers":3,"maxIps":3,"blacklist":null,"note":null,"connections": {"Email":"contact@demeng.dev" },"subUsers": [ {"platform":"Discord","value":"345969862289522698" } ],"servers": {},"ips": {} } }}
Without Product
Licenses found with the provided connection.
{"timestamp":1685491433290,"status":"OK","type":"SUCCESS","message":"Licenses found with the provided connection.","result": {"licenses": [ {"key":"EQPDQNOU5A6PPSICTNSVGJV6SK","product": {"name":"Product1","defaultMaxServers":3,"defaultMaxIps":3,"autoCreateLicenses":false },"issuer":"Admin","createdAt":"2023-04-09T16:52:26.067","expiration":null,"maxServers":3,"maxIps":3,"blacklist":null,"note":null,"connections": {"Email":"contact@demeng.dev" },"subUsers": [ {"platform":"Discord","value":"345969862289522698" } ],"servers": {},"ips": {} } ] }}
With Product
No license with the specified product and connection was found.
Without Product
No licenses with the specified connection were found.
{"timestamp":1685491433290,"status":"OK","type":"SUCCESS","message":"License with the specified key was found.","result": {"license": {"key":"ZQHMY-PFC6O-RNPL1-XY9ZU-P98US","product": {"name":"Test","logo":null,"description":null,"defaultMaxServers":1,"defaultMaxIps":1,"autoCreateLicenses":true },"issuer":"Admin","createdAt":"2024-06-25T15:28:05.697","expiration":null,"maxServers":1,"maxIps":1000,"blacklist":null,"note":"Hello world!","connections": {"BuiltByBit":"134740" },"subUsers": [ {"platform":"Discord","value":"345969862289522698" } ],"servers": {"Test1":"2024-06-25T15:29:23.883","Test3":"2024-06-25T15:29:23.883","Test2":"2024-06-25T15:29:23.883" },"ips": {"Test1":"2024-06-25T15:29:27.1337816","Test3":"2024-06-25T15:29:27.1337816","Test2":"2024-06-25T15:29:27.1337816" } } }}
No license with the specified key was found.
Delete a license.
DELETEhttps://example.com/api/v1/licenses/{key}
Deletes the license with the key.
Path Parameters
Name
Type
Description
key*
String
The license key.
License deleted.
No license with the specified key was found.
Update a license.
PATCHhttps://example.com/api/v1/licenses/{key}
Updates an existing license with new data.
Data provided will completely override the values in the license. This means specifying connections, servers, or ips will replace the existing data instead of adding on to it. If you want to add on to the existing data, use /connections, /servers, or /ips.
Any values not provided or null will not be modified in the license. This means setting blacklistReason to null does not not remove a blacklist. To remove a blacklist, use /blacklist.