canonical: https://jentic.com/apis/cryptlex.com/cryptlex

# Cryptlex Web API

The Cryptlex Web API powers software licensing for desktop, mobile, and on-premise applications. It manages products, license keys, activations, customers, releases, and trials, and supports node-locked, floating, and consumption-based licensing models. The API exposes 284 endpoints covering activation logs, analytics, automated emails, billing, custom fields, and webhook management, with HTTPS-only access and a 50-request burst per 5-second window per IP.

## For AI agents

Issue and revoke software license keys, activate or deactivate machines, and manage customer entitlements for products distributed by Cryptlex.

## Scope

Does not handle code obfuscation, payment processing, or DRM enforcement at the binary level - use for license key issuance and activation only.

## Capabilities

- Issue a node-locked or floating license key for a specific product and tie it to a customer record
- Activate a license on a machine and return a signed activation response that the client app verifies offline
- Deactivate a license on a specific machine to free up an activation slot when a user changes hardware
- Block or unblock a license key when a refund is processed or a chargeback is detected
- Extend an existing license expiry date or convert a trial into a paid subscription
- Query activation logs and analytics to see which customers are active, where they activate from, and which versions they run
- Configure automated email events such as expiry reminders and trigger them on a schedule

## Use cases

### Desktop App License Issuance

Issue per-customer license keys when an order is fulfilled in a payment processor like Stripe or Paddle. The Cryptlex API creates the key, attaches customer metadata, and returns a key string that the order email template embeds. This replaces hand-rolled license servers and centralises analytics across products and platforms.

Example prompt: Call POST `/v3/licenses` with productId, customerId, and validity to create a license key, then return the key field to the order fulfilment workflow.

### Activation Fraud Investigation

When support suspects license sharing, an agent can pull the activation log for a license, count distinct machine fingerprints, and block the key if the threshold is exceeded. The `/v3/activations` and `/v3/activation-logs` endpoints expose every activation attempt with timestamp, IP, and machine ID, and `/v3/licenses` supports immediate blocking. The whole flow can be run as an async investigation pipeline rather than manual log inspection.

Example prompt: Call GET `/v3/activation-logs` with licenseId filter, count distinct machineFingerprint values, and if greater than the policy threshold call PATCH `/v3/licenses/{id}` to block.

### Trial-to-Paid Conversion

Convert an existing trial license to a paid subscription without forcing the customer to reactivate. The agent looks up the trial license by customer email, extends the expiry through the license update endpoint, and clears the trial flag. Combined with Cryptlex's automated email triggers, this powers a frictionless upgrade path when a payment webhook fires from the billing provider.

Example prompt: Find the license via GET `/v3/licenses` with customerEmail filter and update it through PATCH `/v3/licenses/{id}` with the new expiresAt and isTrial=false.

### AI Agent License Operations

Customer success agents built on Jentic can resolve common licensing tickets like 'activate me on a new laptop' or 'I lost my key' without escalating to engineering. The agent searches Jentic for the right operation, loads its schema, and executes it against Cryptlex with credentials drawn from the vault. Bearer tokens never appear in the agent context, and every action is logged in Cryptlex's activity feed for audit.

Example prompt: Search Jentic for 'deactivate a software license on a machine', load the Cryptlex deactivation operation, and execute it with the licenseId and machineFingerprint provided by the customer.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v3/licenses` | Create a license key for a customer and product |
| GET | `/v3/licenses/{id}` | Retrieve a license and its policy |
| PATCH | `/v3/licenses/{id}` | Update, block, or extend a license |
| GET | `/v3/activations` | List activations for a license |
| GET | `/v3/activation-logs` | Inspect activation log entries |
| POST | `/v3/customers` | Create a customer record |
| GET | `/v3/products` | List products and policies |

## Key resources

- **Licenses** — Issue, update, block, and extend license keys for products
- **Activations** — Activate or deactivate licenses on specific machines and inspect activation logs
- **Customers** — Manage customer records, billing addresses, and tags attached to licenses
- **Products and Releases** — Define products, versions, releases, and policies that licenses are issued against
- **Analytics and Automated Emails** — Query usage analytics and configure scheduled email events tied to license lifecycle

## Why Jentic

- **Setup:** Wiring the Cryptlex Web API by hand means setting its JWT bearer auth, choosing the default or EU region host (api.cryptlex.com or api.eu.cryptlex.com), and threading license, activation, customer, and product calls across its large endpoint surface yourself. Through Jentic you install once, import the Cryptlex Web API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Cryptlex puts the license id in the URL path (`/v3/licenses/{id}`), so a rule can pin your agent to one license for reads and updates. You choose the operations it may call, so creating licenses or customers is not included unless you add it.
- **Credential handling:** Your Cryptlex JWT is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'issue a software license' or 'deactivate a license on a machine', and Jentic returns the matching Cryptlex operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Cryptolens Web API** — Software licensing platform with similar key management and activation features
- **Stripe API** — Subscription billing and payment processing platform
- **Paddle API** — Merchant of record for SaaS and software sales with built-in tax handling

## FAQ

### What authentication does the Cryptlex Web API use?

Cryptlex uses HTTP bearer JWT authentication. Every request to /v3/* must include an Authorization header with a Bearer token issued from the Cryptlex dashboard. Through Jentic the token is stored in the vault and never enters the agent context.

### Can I issue floating licenses with the Cryptlex Web API?

Yes. Cryptlex supports node-locked, floating, and consumption-based licenses. Set the license type and allowedActivations on the product policy, then call POST `/v3/licenses` to issue a key bound to that policy.

### What are the rate limits for the Cryptlex Web API?

Cryptlex enforces a maximum burst of 50 requests per 5-second window per IP regardless of authentication. The headers X-Rate-Limit-Limit, X-Rate-Limit-Remaining, and X-Rate-Limit-Reset on every response report current usage.

### How do I activate a license on a customer machine through Jentic?

Search Jentic for 'activate a software license' and execute the loaded Cryptlex operation with licenseKey and machineFingerprint as inputs. The response is a signed activation payload the client app stores and verifies offline.

### Is the Cryptlex Web API free?

Cryptlex offers a free tier with limits on monthly activations and a paid plan that scales with active licenses. The Web API itself is included in every paid plan; pricing is published at https://cryptlex.com/pricing.

### How do I block a license after a chargeback?

Call PATCH `/v3/licenses/{id}` with suspended=true to freeze activations immediately, or set revoked=true to permanently invalidate the key. Both states are reflected in the next activation request the client makes.

### Can I limit what my agent is allowed to do with the Cryptlex Web API?

Yes. Because you run Jentic One yourself, your own rules decide which Cryptlex operations and credentials the agent may use, and it can only call the endpoints you allow. Since Cryptlex puts the license id in the URL path such as `/v3/licenses/{id}`, you can pin the agent to reading and updating a single license rather than the whole account. Operations like creating a license with POST `/v3/licenses` or adding a customer with POST `/v3/customers` stay out of reach unless you explicitly grant them.
