API Docs
The Arara License Validation API lets your app verify that a user has a valid license at launch time.
Last updated: June 2026
Base URL
https://arara-app-store.vercel.app/api
License Validation
POST
/license/validateValidates a license key. No authentication required — call this from your desktop app at startup. Rate limited to 60 requests per minute per IP.
Request Body
{
"license_key": "LIC-XXXX-XXXX-XXXX", // required
"app_id": "uuid" // optional — validates against a specific app
}Response — 200 Valid
{
"valid": true,
"status": "active",
"app_id": "3fa85f64-5717-...",
"license_id": "1b9d6bcd-...",
"issued_at": "2026-06-01T00:00:00Z",
"expires_at": null,
"message": "License is valid and active"
}Response — 404 Not Found
{ "valid": false, "message": "License not found" }Response — 403 Revoked/Expired
{ "valid": false, "status": "revoked", "message": "This license has been revoked" }Example — Node.js
const res = await fetch('https://arara-app-store.vercel.app/api/license/validate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ license_key: userLicenseKey }),
});
const { valid, message } = await res.json();
if (!valid) {
// Block app launch, show purchase screen
showLicenseError(message);
}Response Headers
X-Arara-API-Version
Returns the API version date string (e.g.
2026-06-01). Pin to this header to detect breaking changes.Access-Control-Allow-Origin: *
CORS is open for all origins — you can call this from Electron, Tauri, or any desktop app runtime.
API Explorer
Send a GET request to /api/license/validate to receive the full API schema in JSON format — useful for integration testing.