Skip to main content

License Management

These endpoints manage the IDIAL license. The license controls which features are available and how many endpoints (OPC UA devices) can be managed. License validation is cached for one hour.

note

These endpoints are not present in the existing bxc-documentation. They document a feature introduced after the last bxc-documentation update.

POST /systeminfo/lic

Installs a license. The license is stored in the database and validated immediately. The validation result is returned in the response.

Authentication: Required (X-API-Key header — license feature check is skipped for this endpoint)

Request

curl -X POST http://localhost:5000/systeminfo/lic \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{"license_b64": "eyJsaWNlbnNlIjogIi4uLiJ9..."}'

Request Fields

FieldTypeRequiredDescription
license_b64stringYesBase64-encoded .lic file content.

Response 201

{
"validation_success": true,
"validation_message": null,
"company": "Example GmbH",
"features": ["core", "enterprise_user_management"],
"feature_count": 2,
"licensed_endpoints": 50,
"validity_start": "2026-01-01",
"validity_end": "2027-01-01",
"product": "IDIAL",
"product_version": "1",
"license_type": "commercial",
"is_currently_valid": true,
"days_until_expiry": 241,
"is_expired": false
}

Response Fields

FieldTypeDescription
validation_successbooleanWhether the license is valid.
validation_messagestring | nullError or info message if validation failed.
companystring | nullLicensed company name.
featuresstring[]List of licensed feature identifiers.
feature_countinteger | nullTotal number of licensed features.
licensed_endpointsinteger | nullMaximum number of managed OPC UA endpoints allowed.
validity_startstring | nullLicense validity start date.
validity_endstring | nullLicense validity end date.
productstring | nullProduct name.
product_versionstring | nullProduct version string.
license_typestring | nullLicense type (e.g. "commercial", "trial").
is_currently_validboolean | nullWhether the license is valid at the current time.
days_until_expiryinteger | nullDays until the license expires.
is_expiredboolean | nullWhether the license has already expired.

Response 400

{"error": "license_b64 is not valid base64"}

GET /systeminfo/lic

Validates and returns details about the currently installed license.

Authentication: Required (X-API-Key header)

Request

curl -X GET http://localhost:5000/systeminfo/lic \
-H "X-API-Key: your-api-key"

Response 200

Response matches the format of POST /systeminfo/lic.

Response 404

{"error": "No license stored"}

DELETE /systeminfo/lic

Removes the installed license from the database. After deletion all feature-gated endpoints return 403 until a new license is installed.

Authentication: Required (X-API-Key header)

Request

curl -X DELETE http://localhost:5000/systeminfo/lic \
-H "X-API-Key: your-api-key"

Response 200

{
"validation_success": false,
"validation_message": "License removed",
"features": []
}
warning

Deleting the license immediately disables all feature-gated endpoints. Ensure a replacement license is available before removing the current one in production.