INFO
Reference only — the live API accepts requests from official SDKs with wire authentication. Use Client SDKs to integrate.
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"
}