LibreAuth
Seller API · GET / POST

Delete Application

API https://libreauth.nutexe.dev/seller-api/

Permanently delete an application and related data.

LibreAuth Seller API · type=delapp · query-string style

Parameters

sellerkey string required
Example: YOUR_SELLER_KEY
Seller API key from Panel → Seller API
type string required
Example: delapp
Request action
app integer required
Example: 1
Application ID (numeric)

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=delapp' \
  --data-urlencode 'app=1'
PHP
<?php
$q = http_build_query([
    'sellerkey' => 'YOUR_SELLER_KEY',
    'type' => 'delapp',
    'app' => '1'
]);
echo file_get_contents('https://libreauth.nutexe.dev/seller-api/?' . $q);
Python
import requests
params = {
    'sellerkey': 'YOUR_SELLER_KEY',
    'type': 'delapp',
    'app': '1',
}
r = requests.get('https://libreauth.nutexe.dev/seller-api/', params=params)
print(r.json())
HTTP
GET /seller-api/?sellerkey=YOUR_SELLER_KEY&type=delapp&app=1 HTTP/1.1
Host: libreauth.nutexe.dev
JavaScript
const params = new URLSearchParams({
  sellerkey: 'YOUR_SELLER_KEY',
  type: 'delapp',
  app: '1'
});

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: 'delapp',
  app: '1'
});

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"
}