Client API
Login
Authenticate with username and password. Returns user info and subscription data.
Query Params
type
string
required Example:
loginRequest action name
name
string
required Example:
MyAppApplication name
ownerid
string
required Example:
XXXXXXXXXX10-character Owner ID
sessionid
string
required Example:
your_session_idSession ID returned by
inithwid
string
required Example:
HWID-12345Hardware ID string from client
username
string
required Example:
user123Account username
pass
string
required Example:
passwordAccount password
code
string
optional Example:
123456TOTP 2FA code if enabled
cpu
string
optional Example:
Intel(R) Core(TM) i7-9700KCPU model — stored in
user_devices · panel Users → Machinespcuser
string
optional Example:
DESKTOP-GAMEPC / Windows name (aliases:
hostname, computername)os
string
optional Example:
Windows 11Operating system label
platform
string
optional Example:
win32Platform id
device
string
optional Extra device metadata (stored in
meta_json)model
string
optional Device model
manufacturer
string
optional Hardware manufacturer
Request Code Samples
Shell
curl -X POST 'https://libreauth.nutexe.dev/api/1.3/' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'type=login&name=MyApp&ownerid=XXXXXXXXXX&sessionid=your_session_id&username=user123&pass=password&hwid=HWID-12345&cpu=Intel%28R%29+Core%28TM%29+i7-9700K&pcuser=DESKTOP-GAME'
Go
app := libreauth.New("MyApp", "XXXXXXXXXX", "1.0", "https://libreauth.nutexe.dev/api/1.3/")
app.Init()
app.Login("user123", "password", "HWID-12345")
PHP
<?php
$ch = curl_init('https://libreauth.nutexe.dev/api/1.3/');
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_POSTFIELDS => 'type=login&name=MyApp&ownerid=XXXXXXXXXX&sessionid=your_session_id&username=user123&pass=password&hwid=HWID-12345&cpu=Intel%28R%29+Core%28TM%29+i7-9700K&pcuser=DESKTOP-GAME', 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': 'login',
'name': 'MyApp',
'ownerid': 'XXXXXXXXXX',
'sessionid': 'your_session_id',
'username': 'user123',
'pass': 'password',
'hwid': 'HWID-12345',
'cpu': 'Intel(R) Core(TM) i7-9700K',
'pcuser': 'DESKTOP-GAME'
})
print(res.json())
HTTP
POST /api/1.3/ HTTP/1.1
Host: libreauth.nutexe.dev
Content-Type: application/x-www-form-urlencoded
type=login&name=MyApp&ownerid=XXXXXXXXXX&sessionid=your_session_id&username=user123&pass=password&hwid=HWID-12345&cpu=Intel%28R%29+Core%28TM%29+i7-9700K&pcuser=DESKTOP-GAME
C#
var app = new LibreAuth("MyApp", "XXXXXXXXXX", "1.0", "https://libreauth.nutexe.dev/api/1.3/");
await app.InitAsync();
await app.LoginAsync("user123", "password", "HWID-12345");
C++
LibreAuth::Client app("MyApp", "XXXXXXXXXX", "1.0", "https://libreauth.nutexe.dev/api/1.3/");
app.init();
app.login("user123", "password", "HWID-12345");
JavaScript
const body = new URLSearchParams({
type: 'login',
name: 'MyApp',
ownerid: 'XXXXXXXXXX',
sessionid: 'your_session_id',
username: 'user123',
pass: 'password',
hwid: 'HWID-12345',
cpu: 'Intel(R) Core(TM) i7-9700K',
pcuser: 'DESKTOP-GAME'
});
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);
TypeScript
const app = new LibreAuth('MyApp', 'XXXXXXXXXX', '1.0', 'https://libreauth.nutexe.dev/api/1.3/');
await app.init();
await app.login('user123', 'password', 'HWID-12345');
Java
LibreAuth app = new LibreAuth("MyApp", "XXXXXXXXXX", "1.0", "https://libreauth.nutexe.dev/api/1.3/");
app.init();
app.login("user123", "password", "HWID-12345");
Rust
let mut app = LibreAuth::new("MyApp", "XXXXXXXXXX", "1.0", "https://libreauth.nutexe.dev/api/1.3/");
app.init()?;
app.login("user123", "password", "HWID-12345")?;
Ruby
app = LibreAuth.new('MyApp', 'XXXXXXXXXX', '1.0', 'https://libreauth.nutexe.dev/api/1.3/')
app.init
app.login('user123', 'password', 'HWID-12345')
Perl
my $app = LibreAuth->new('MyApp', 'XXXXXXXXXX', '1.0', 'https://libreauth.nutexe.dev/api/1.3/');
$app->init;
$app->login('user123', 'password', 'HWID-12345');
Lua
local app = LibreAuth.new('MyApp', 'XXXXXXXXXX', '1.0', 'https://libreauth.nutexe.dev/api/1.3/')
app:init()
app:login('user123', 'password', 'HWID-12345')
React
const app = new LibreAuth('MyApp', 'XXXXXXXXXX', '1.0', process.env.REACT_APP_API_URL);
await app.Init();
await app.Login('user123', 'password', 'HWID-12345');
Vue
const app = new LibreAuth('MyApp', 'XXXXXXXXXX', '1.0', import.meta.env.VITE_API_URL);
await app.Init();
await app.Login('user123', 'password', 'HWID-12345');
Unity
var app = new LibreAuth("MyApp", "XXXXXXXXXX", "1.0", "https://libreauth.nutexe.dev/api/1.3/");
await app.InitAsync();
await app.LoginAsync("user123", "password", "HWID-12345");
WPF
var app = new LibreAuth("MyApp", "XXXXXXXXXX", "1.0", "https://libreauth.nutexe.dev/api/1.3/");
await app.InitAsync();
await app.LoginAsync("user123", "password", "HWID-12345");
VB.NET
var app = new LibreAuth("MyApp", "XXXXXXXXXX", "1.0", "https://libreauth.nutexe.dev/api/1.3/");
await app.InitAsync();
await app.LoginAsync("user123", "password", "HWID-12345");
Responses
application/json · object
{
"success": true,
"message": "Logged in!",
"info": { "username": "user123", "subscriptions": [...] },
"nonce": "..."
}
application/json · object
{
"success": false,
"message": "Invalid credentials"
}