Store

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/validate

Validates 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.