features / license keys

License keys your app can actually trust

Attach a license benefit to a product and every paid order issues a key. With your prefix, your expiry rules, and your activation limits. Your software verifies it with one call, server to server.

the license api

Three endpoints. That's the whole integration.

Authenticate with a server-side API key from your admin panel. Keys are hashed at rest, compared in constant time, and rate-limited — the boring security you'd otherwise build yourself.

  1. POST/api/v1/licenses/validate

    Check a key on app launch — valid, expired, disabled, or revoked?

  2. POST/api/v1/licenses/activate

    Register a named instance — a machine, a site, a seat — against the key's activation limit.

  3. POST/api/v1/licenses/deactivate

    Free a seat when the user retires a device, so the limit stays honest.

api/v1/licenses/validateTry it
Try:

Send a key to see the response.

Sample keys only — nothing leaves your browser.

A license here always resolves to its order, product, and customer in one response. When a "my key stopped working" email arrives, the answer is in the payload — not in a cross-referencing session across three dashboards.

license.issued

Keys with rules, not just strings

Each license benefit defines how its keys behave. The rules are stamped onto the key at purchase time, so editing a product never breaks keys already in the wild.

Prefix
Brand your keys — ACME-XXXX-XXXX reads better than a bare UUID in a support email.
Activation limit
Cap how many machines, sites, or seats one key can activate. Or leave it unlimited.
Expiry
Keys can expire after a period you choose — days, months, or years from purchase — or last forever.
Status
Active, expired, disabled, or revoked. Refunds revoke automatically; you can disable manually any time.
portal/licenses/ACME-7F2ATry it
ACME-7F2A-9D41-C8E33 / 3 seats
MacBook Pro — Vusal9b2f6c1e · activated 12 Mar
Studio iMac4d81a2f7 · activated 28 Mar
Build server (CI)77c3e0b9 · activated 02 Apr

Deactivating frees the seat immediately — the next validate call sees it.

license.revoked

The lifecycle handles itself

  1. 01

    Purchase

    Key issued instantly, shown on the order page and in the buyer's portal.

  2. 02

    Activation

    Your app registers instances against the limit; buyers see their seats in the portal.

  3. 03

    Refund or cancel

    Keys are revoked automatically when the order is refunded or the subscription ends.

  4. 04

    Support

    Disable, re-enable, or free seats from the admin panel — effective on the next validate call.

Selling desktop software or a SaaS? See the SaaS license keys and desktop app licensing use cases.

order.paid → delivered

Issue your first key today.

Attach a license benefit to a product and every future checkout ships with a key.

14-day trial · $29/mo after · cancel anytime