LibreAuth
Client API

Feature Ticket

POST https://libreauth.nutexe.dev/api/1.3/

Issue a short-lived feature_token after license. Server checks subscription pack (SubCore::HasFeature) then app entitlements. Pair with type=feature_ack when Panel Require Feature Ack is on. SDK: SessionGate.RequireFeatureOrDie.

LibreAuth API v1.3 · type=feature

Query Params

type string required
Example: feature
Request action name
name string required
Example: MyApp
Application name
ownerid string required
Example: XXXXXXXXXX
10-character Owner ID
sessionid string required
Example: your_session_id
Session ID returned by init
feature string required
Example: inject
Feature name (a-z 0-9 _ -)

Request Code Samples

Shell
curl -X POST 'https://libreauth.nutexe.dev/api/1.3/' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'type=feature&name=MyApp&ownerid=XXXXXXXXXX&sessionid=your_session_id&feature=inject'
PHP
<?php
$ch = curl_init('https://libreauth.nutexe.dev/api/1.3/');
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_POSTFIELDS => 'type=feature&name=MyApp&ownerid=XXXXXXXXXX&sessionid=your_session_id&feature=inject', CURLOPT_HTTPHEADER => ['Content-Type: application/x-www-form-urlencoded'], CURLOPT_RETURNTRANSFER => true]);
echo curl_exec($ch);
Python
import requests
res = requests.post('https://libreauth.nutexe.dev/api/1.3/', data={
    'type': 'feature',
    'name': 'MyApp',
    'ownerid': 'XXXXXXXXXX',
    'sessionid': 'your_session_id',
    'feature': 'inject'
})
print(res.json())
HTTP
POST /api/1.3/ HTTP/1.1
Host: libreauth.nutexe.dev
Content-Type: application/x-www-form-urlencoded

type=feature&name=MyApp&ownerid=XXXXXXXXXX&sessionid=your_session_id&feature=inject
JavaScript
const body = new URLSearchParams({
  type: 'feature',
  name: 'MyApp',
  ownerid: 'XXXXXXXXXX',
  sessionid: 'your_session_id',
  feature: 'inject'
});
fetch('https://libreauth.nutexe.dev/api/1.3/', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: body.toString() })
  .then(r => r.json()).then(console.log);

Responses

application/json · object
{
  "success": true,
  "message": "Feature ticket",
  "feature": "inject",
  "feature_token": "...",
  "exp": 1710000000,
  "ttl": 60
}
application/json · object
{
  "success": false,
  "message": "Feature not entitled"
}