Licence and support
The Licence and support screen lets you read the state of the platform licence, activate a signed licence token,
read the licence history and find what to send with a support request. Expiry never stops the platform. Portal path:
/admin/license. Every signed-in user reads the status and the support tab; the platform administrators
(platform_admin) activate a licence and read the history.
What the screen shows
Four tabs; Activation and Licence history are shown only to platform_admin (ROLES.licenseAdmins).
- Licence status: a badge with the state (green for
valid, amber forexpiring_soonorgrace, red forexpired), a badge with the edition, the line N days remaining, the banner message of the licence in your language when there is one, the line Restricted actions with the list of refused actions, and the full answer of the API as JSON. - Activation: the form Activate a licence, "Paste the signed licence token. It is verified locally.", with a Token field and a Result area.
- Licence history: table Licence history, described below.
- Support: what to send with a support request: the licensing guide (
docs/operations/en/licensing.md), "The request id shown with each API error." and "After the grace period only upgrades and marketplace installs are refused."
Columns of Licence history:
| Column | Content |
|---|---|
| Kind | Kind of event (activation, refusal, warning). |
| Licence | Identifier of the licence. |
| Actor | Who triggered the event. |
| Details | Details of the event, as JSON. |
| At | Date of the event. |
A click on a history line shows it in a side panel; the list is paged. Empty state: No licence event.
Actions
| Button or action | What it does | API call | Roles |
|---|---|---|---|
| Tab Licence status | Reads the current state of the licence. | GET /v1/license | Signed-in user (decision license.read of the policy) |
| Tab Activation, Token then Run | Browser confirmation "Activate a licence? This sensitive action is recorded in the audit log.", then the token (20 to 16384 characters, signed JWS) is verified and activated; the result shows the new status. A refused token is recorded in the history. | POST /v1/license/activations | platform_admin |
| Tab Licence history, Refresh | Reads the history page by page. | GET /v1/license/history | platform_admin |
| Click on a history line | Shows the line in a side panel. | none | platform_admin |
| Tab Support | Shows the support checklist. | none | Signed-in user |
Roles
From services/control-plane/src/eai/domains/licensing/routes.py: GET /v1/license needs a signed-in principal and the
policy decision license.read; POST /v1/license/activations and GET /v1/license/history require platform_admin
and the decisions license.activate and license.history.read. A user without platform_admin who opens the
Activation form sees "Requires one of these roles: ..." instead of the form.
Typical tasks
Activate a renewed licence
- Open the activation tab. Portal: Administration > Licence and support > Activation. Expected result:
the Token field. If it fails: the tab is missing when you are not
platform_admin. - Paste the token and run. Paste the signed token received with the licence, click Run and accept the
confirmation. The platform checks the signature offline. Expected result: the JSON result with the new status.
If it fails: read the code of the error (for example
license_expired,license_group_mismatch) and the table below. - Check the status. Tab Licence status. Expected result: the badge
validand the number of days remaining. If it fails: reload the page; the history shows the refusal and its reason.
Prepare a support request
- Read the support tab. It lists what to send. Expected result: the three items of the list. If it fails: none.
- Copy the request id. Each error of the API shows a request id under its message. Expected result: an id to join to the request. If it fails: reproduce the error and copy the id shown.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
license_expired (HTTP 403) on activation | The token is past its validity. | Ask a renewed licence. |
license_group_mismatch (HTTP 409) | The token belongs to another installation group. | Use the token issued for this installation. |
license_conflict (HTTP 409) | The activation conflicts with the licence in place. | Read Licence history, then retry with the right token. |
license_environment_not_included (HTTP 422) | The licence does not cover this environment. | Ask a licence that includes the environment. |
license_offline_not_allowed (HTTP 422) | The licence does not allow an offline activation. | Ask a licence with offline activation allowed. |
license_invalid_token, license_signature_invalid | The token is damaged, truncated or not signed by the expected key. | Paste the whole token again, without spaces. |
forbidden (HTTP 403) on Activation or Licence history | Only platform_admin activates or reads the history. | Sign in as a platform administrator. |
| Restricted actions is not empty | The grace period is over: upgrades and marketplace installs are refused, the platform keeps running. | Activate a renewed licence. |