Scroll
  • Home
  • Evorion
  • Features
  • Pricing
  • Reviews
  • Docs
  • Updates
Log inSign up

PHP licensing API

Validate a licence from PHP with cURL. Runs anywhere PHP does — shared hosting, Laravel, a plain script behind your storefront.

Validate a licence key

One POST to /apps/{appId}/licenses/authenticate. PHP 7.4+ with ext-curl. No dependencies.

<?php
$appId = 'YOUR_APP_ID';
$ch = curl_init("https://api.evora.lol/api/developer-api/apps/$appId/licenses/authenticate");

curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . getenv('EVORA_API_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode(['licenseKey' => $_POST['license']]),
]);

$result = json_decode(curl_exec($ch), true);
curl_close($ch);

if (!empty($result['authenticated'])) {
    // issue YOUR session here — never hand the API key to the browser
    $_SESSION['plan'] = $result['subscription']['level'] ?? 0;
}

What you get back

  • authenticated — whether the key is valid and usable right now.
  • subscription.level and subscription.name — the tier you configured.
  • subscription.active — false when expired or paused. Use this, not the raw expiry.
  • subscription.hwid — the bound device, when HWID locking is on.

Keep the key server-side

The API key is a server credential. The safe shape is always: browser → your server → Evorion. Your backend holds the key, validates the licence, then issues your own session.

  • Never ship ag_sk_ keys to a client of any kind.
  • Scope each key to the minimum it needs, and to one application where you can.
  • Rotate from the dashboard; keys are shown once on creation.

Native apps want the C++ SDK

If you are shipping a Windows binary to end users, REST alone leaves the client unprotected. The C++ SDK adds encrypted bodies, device-bound credentials and runtime protection that a dashboard toggle can change mid-session.

  • SDK documentation
  • Full REST reference

PHP questions

Is there an Evorion SDK for PHP?
No, and you do not need one. PHP talks to the same REST API the dashboard uses — the snippet on this page is the whole integration. The one native SDK is C++, which exists because it adds things a REST call cannot: encrypted request bodies, device-bound credentials, and server-driven runtime protection.
Can I call the API from PHP running in a browser?
No. Anything shipped to a browser is readable by anyone who opens developer tools, so an API key there is a public key. Call it from your server, and issue your own session to the browser afterwards. CORS blocks browser origins for exactly this reason.
What does the authenticate endpoint return?
A JSON object with `authenticated` (boolean) and, when the licence resolves to a customer, a `subscription` object carrying level, name, expiry, HWID and an `active` flag. Read `active` rather than comparing the expiry date yourself — it applies the same rule the SDK does, including pauses.

Other languages: Node.js, Python, C#, Go, Java, Ruby.

Make the hunt endless.Available today.

Get startedContact sales
Evora

Authentication, licensing, and runtime protection for Windows applications.

Product
  • Evorion SDK
  • Features
  • Pricing
  • Evorion
  • Updates
  • Reviews
Developers
  • Documentation
  • API reference
  • Integrations
  • Why Evorion
Resources
  • Aim module
  • Reseller program
  • Discord
Account
  • Sign in
  • Create account
Legal
  • Terms
© 2026 Evora. All rights reserved.