B2B distribution requires more than a download link. License keys, install quotas, expiration policies, and admin approval workflows ensure that every installation is authorized and accounted for.
Create, validate, and configure licenses through a consistent API. Every operation is auditable, every response is structured, and every edge case — from quota limits to expiration — is handled server-side.
1POST /api/v1/licenses HTTP/1.12Host: core.enravo.com3Authorization: Bearer ek_live_...4Content-Type: application/json5
6{7 "client_id": "cl_org_acme",8 "application": "app_inventory",9 "max_installs": 25,10 "expires_at": "2027-03-01T00:00:00Z",11 "approval_mode": "auto",12 "metadata": {13 "plan": "enterprise",14 "region": "eu-west"15 }16}17
18--- Response 201 Created ---19
20{21 "id": "lic_8xKp2mNqR4vW",22 "key": "ENRV-ACME-X4K9-P2MW",23 "client_id": "cl_org_acme",24 "application": "app_inventory",25 "max_installs": 25,26 "current_installs": 0,27 "status": "active",28 "expires_at": "2027-03-01T00:00:00Z",29 "created_at": "2026-04-06T10:30:00Z"30}Four capabilities that control how applications are distributed, installed, and maintained across client organizations.
Unique, cryptographically generated license keys issued per client. Each key encodes the client identity, allowed application, and activation constraints.
Configurable maximum install count per license. When the quota is reached, new installations are blocked until an existing install is deactivated or the limit is increased.
Time-based license validity with configurable expiration dates. Expired licenses prevent new logins while preserving data access for migration and export.
Optional manual approval workflow for new installations. Administrators review and approve each install request before the application is activated.
Five steps from key generation to enforced limits. The flow adapts based on the client's install scenario — auto-approval, admin approval, or license key required.
Generate Key
A unique license key is generated and associated with the client and application
Client Registers
The client organization registers with the license key and provides required metadata
Admin Approves
If the install scenario requires approval, an administrator reviews and activates the registration
App Installs
The application is installed and activated on the target device, consuming one install slot
Limit Enforced
Install count, expiration, and device limits are continuously enforced across the license lifecycle
Generate Key
A unique license key is generated and associated with the client and application
Client Registers
The client organization registers with the license key and provides required metadata
Admin Approves
If the install scenario requires approval, an administrator reviews and activates the registration
App Installs
The application is installed and activated on the target device, consuming one install slot
Limit Enforced
Install count, expiration, and device limits are continuously enforced across the license lifecycle
Every license follows a predictable lifecycle. Each stage is tracked, auditable, and enforceable — from initial generation through to renewal or expiration.
A license key is created via the API or admin dashboard. It encodes the client, application, quota, and expiry constraints. No installs are active yet.
The license key is delivered to the client organization — via email, webhook, or direct API integration. The key is now available for activation.
A device registers against the license key. The install count increments, the device is bound, and the application becomes operational on that device.
Each new activation is checked against the quota limit. The system blocks, notifies, or soft-limits based on the configured overflow action.
When the expiry date is reached, the license enters a grace period. After grace, access is restricted. Renewal resets the cycle with updated terms.