Premium Launcher API Documentation

Complete integration guide for validating Premium Launcher license keys on your platform.

Quick Start

1. Get Your API Key

After onboarding, you'll receive an environment variable with your API key.

PREMIUM_LAUNCHER_API_KEY=your_api_key_here

2. Validate License Keys

Send POST requests to our validation endpoint with the license key.

POST https://premiumlauncher.com/api/license-keys/validate

3. Handle Response

Check the response to determine if the license key is valid and active.

API Reference

Validate License Key

Validates a Premium Launcher license key and returns its status.

Endpoint:

POST https://premiumlauncher.com/api/license-keys/validate

Headers:

X-API-Key: your_api_key_here Content-Type: application/json

Request Body:

{ "licenseKey": "AURA-XXXX-XXXX-XXXX", "platform": "your-platform-id" }

Note: platform is a unique identifier for your platform (e.g., "producthunt", "betlist")

Success Response (200):

{ "valid": true, "isFirstActivation": true, "licenseKey": { "id": "key_id", "key": "AURA-XXXX-XXXX-XXXX", "expiresAt": "2025-12-31T23:59:59.000Z", "activatedPlatforms": ["your-platform-id"] }, "user": { "id": "user_id", "email": "user@example.com", "name": "User Name" }, "subscription": { "status": "active", "currentPeriodEnd": "2025-12-31T23:59:59.000Z", "currentPeriodStart": "2025-11-01T00:00:00.000Z" } }

Error Response (400/401/404):

{ "valid": false, "error": "Invalid license key" | "License key expired" | "Unauthorized" }

Code Examples

Node.js / Express

async function validateLicenseKey(licenseKey, platform) {
  const response = await fetch('https://premiumlauncher.com/api/license-keys/validate', {
    method: 'POST',
    headers: {
      'X-API-Key': process.env.PREMIUM_LAUNCHER_API_KEY,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ licenseKey, platform }),
  });

  const data = await response.json();
  return data.valid === true;
}

// Usage in route handler
app.post('/api/submit', async (req, res) => {
  const { licenseKey, productData } = req.body;
  
  const isValid = await validateLicenseKey(licenseKey);
  if (!isValid) {
    return res.status(403).json({ error: 'Invalid license key' });
  }
  
  // Process submission...
  res.json({ success: true });
});

Python / Flask

import requests
import os

def validate_license_key(license_key, platform):
    response = requests.post(
        'https://premiumlauncher.com/api/license-keys/validate',
        headers={
            'X-API-Key': os.getenv('PREMIUM_LAUNCHER_API_KEY'),
            'Content-Type': 'application/json',
        },
        json={'licenseKey': license_key, 'platform': platform}
    )
    
    data = response.json()
    return data.get('valid', False) === True

# Usage in route
@app.route('/api/submit', methods=['POST'])
def submit_product():
    license_key = request.json.get('licenseKey')
    
    if not validate_license_key(license_key):
        return jsonify({'error': 'Invalid license key'}), 403
    
    # Process submission...
    return jsonify({'success': True})

PHP

function validateLicenseKey($licenseKey, $platform) {
    $apiKey = getenv('PREMIUM_LAUNCHER_API_KEY');
    $url = 'https://premiumlauncher.com/api/license-keys/validate';
    
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'X-API-Key: ' . $apiKey,
        'Content-Type: application/json',
    ]);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
        'licenseKey' => $licenseKey,
        'platform' => $platform
    ]));
    
    $response = curl_exec($ch);
    curl_close($ch);
    
    $data = json_decode($response, true);
    return isset($data['valid']) && $data['valid'] && $data['status'] === 'active';
}

// Usage
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $licenseKey = $_POST['licenseKey'] ?? '';
    
    if (!validateLicenseKey($licenseKey)) {
        http_response_code(403);
        echo json_encode(['error' => 'Invalid license key']);
        exit;
    }
    
    // Process submission...
}

AI Implementation Prompts

Use these prompts with Cursor, ChatGPT, Claude, or other AI coding assistants to implement the license key validation:

Cursor / AI Coding Assistant Prompt:

I need to integrate Premium Launcher license key validation into my platform. 

API Endpoint: https://premiumlauncher.com/api/license-keys/validate
Authentication: X-API-Key header with PREMIUM_LAUNCHER_API_KEY environment variable

Requirements:
1. Create a function to validate license keys by sending POST requests to the API
2. The request body should be: { "licenseKey": "AURA-XXXX-XXXX-XXXX", "platform": "your-platform-id" }
3. Check if response.valid === true
4. Handle errors (invalid key, expired, unauthorized, subscription not active)
5. Integrate this into my product submission flow
6. Only allow submissions if license key is valid and active
7. Platform identifier should be a unique string for your platform

My tech stack: [YOUR_STACK_HERE - e.g., Next.js, Express, Flask, etc.]

Please provide complete implementation with error handling.

Integration Checklist

Set up environment variable with your API key
Create license key validation function
Integrate validation into submission endpoint
Handle success and error responses
Test with valid and invalid license keys
Add error messages for users
Implement rate limiting (optional but recommended)
Add logging for debugging

Support & Resources

Need Help?

For technical support, integration questions, or API issues:

Partner Resources

Premium Launcher

launcher

One License Key. Four Platforms. Unlimited Launches.

Get a license key that works across all 4 platforms. Activate it on each platform to unlock bulk submissions and submit unlimited premium products.

Built by the Aura++ Team
@ Aura++ - 2026