Seller API · GET / POST
Edit File
Update file name, URL, auth flag, or enabled state.
Parameters
sellerkey
string
required Example:
YOUR_SELLER_KEYSeller API key from Panel → Seller API
type
string
required Example:
editfileRequest action
app
integer
required Example:
1Application ID (numeric)
string
optional Request Code Samples
GET query string or POST form body — both work. Discord bots typically use GET with fetch().
Shell
curl -G 'https://libreauth.nutexe.dev/seller-api/' \
--data-urlencode 'sellerkey=YOUR_SELLER_KEY' \
--data-urlencode 'type=editfile' \
--data-urlencode 'app=1' \
--data-urlencode 'file=2' \
--data-urlencode 'name=loader-v2'
PHP
<?php
$q = http_build_query([
'sellerkey' => 'YOUR_SELLER_KEY',
'type' => 'editfile',
'app' => '1',
'file' => '2',
'name' => 'loader-v2'
]);
echo file_get_contents('https://libreauth.nutexe.dev/seller-api/?' . $q);
Python
import requests
params = {
'sellerkey': 'YOUR_SELLER_KEY',
'type': 'editfile',
'app': '1',
'file': '2',
'name': 'loader-v2',
}
r = requests.get('https://libreauth.nutexe.dev/seller-api/', params=params)
print(r.json())
HTTP
GET /seller-api/?sellerkey=YOUR_SELLER_KEY&type=editfile&app=1&file=2&name=loader-v2 HTTP/1.1
Host: libreauth.nutexe.dev
JavaScript
const params = new URLSearchParams({
sellerkey: 'YOUR_SELLER_KEY',
type: 'editfile',
app: '1',
file: '2',
name: 'loader-v2'
});
const res = await fetch('https://libreauth.nutexe.dev/seller-api/?' + params.toString());
const data = await res.json();
console.log(data);
TypeScript
const params = new URLSearchParams({
sellerkey: 'YOUR_SELLER_KEY',
type: 'editfile',
app: '1',
file: '2',
name: 'loader-v2'
});
const res = await fetch('https://libreauth.nutexe.dev/seller-api/?' + params.toString());
const data = await res.json();
console.log(data);
Discord.js
// discord.js v14 — slash command /addhash
import { SlashCommandBuilder } from 'discord.js';
const SELLER_KEY = process.env.SELLER_KEY;
const APP_ID = '1';
const BASE = 'https://libreauth.nutexe.dev/seller-api/';
export const data = new SlashCommandBuilder()
.setName('addhash')
.setDescription('Add MD5 hash to app whitelist')
.addStringOption(o => o.setName('hash').setDescription('32-char MD5').setRequired(true));
export async function execute(interaction) {
const hash = interaction.options.getString('hash', true).toLowerCase();
const qs = new URLSearchParams({ sellerkey: SELLER_KEY, type: 'addhash', app: APP_ID, hash });
const res = await fetch(`${BASE}?${qs}`);
const body = await res.json();
if (!body.success) {
return interaction.reply({ content: `Failed: ${body.message}`, ephemeral: true });
}
await interaction.reply({ content: `Hash added — ${body.hashes?.length ?? 0} total`, ephemeral: true });
}
Responses
application/json · object
{
"success": true,
"message": "OK"
}
application/json · object
{
"success": false,
"message": "Permission denied for this API key"
}