Licenses API
Operator CRUD plus anonymous validation with X-API-KEY.
Used by POST /api/Licenses/validate. Send X-API-KEY: <product key> (or legacy Authorization: X-API-KEY <key>). Never ship the private signing key to clients.
Prefix /api/Licenses. Hosted example: https://licenpro.runasp.net/api/Licenses/validate.
/api/LicensesPaginated list. Query: pageNumber, pageSize, search, status, type.
/api/Licenses/{id}Single license by GUID.
/api/LicensesCreate license. Body: CreateLicenseDto — required name, type (Perpetual, Trial, Subscription, NodeLocked, Floating, Concurrent), issuedTo, softwareReleaseId; optional expiry, seats, hardware, entitlement set ids, notes.
/api/Licenses/validateAllowAnonymous + X-API-KEY. multipart/form-data: licenseKey, validationParams (JSON string), optional licenseFile.
/api/Licenses/validate/{licenseKey}Simple validation; optional hardwareId query.
/api/Licenses/status/{licenseKey}Status payload for SDK polling.
/api/Licenses/refresh/{licenseKey}Refresh license material (optional RefreshLicenseDto).
/api/Licenses/{licenseKey}/activationsAnonymous activation snapshot.
/api/Licenses/{id}/downloadAuthorized download of license file bytes.
/api/Licenses/{id}/generate-fileRegenerate license file.
/api/Licenses/{id}/revokeRevoke license.
Additional routes cover hardware binding, transfers, and pending bindings; explore responses from your host under the same prefix.
