Adding the license to our self-hosted Kubernetes cluster using the API, it gets accepted (API response true/valid) and we can see that the license is active in both Kibana and Stack Monitoring. However, shortly after the license is changed to Basic (which isn’t ideal, we were on Trial when adding the license) for no obvious reason. What could be causing this, and how can it be fixed permanently?
Hi @michael-a,
Are you using the update license API? Can you confirm how you are checking the license?
Carly
Are you using ECK?
If I'm not wrong you need to add using a Kubernetes Secret as described here.
Thanks for the quick replies - we’re running on Kubernetes on-premise, adding the license and installing the license using the Kibana update license API. Immediately after adding the license, the API confirms
{
"acknowledged": true,
"license_status": "valid"
}
Checking the license is done using the GET /_license or via the cluster overview page in Kibana, the API response is (same in prod and non-prod environments)
{
"license": {
"status": "active",
"uid": "<redacted",
"type": "enterprise",
"issue_date": "2026-02-23T00:00:00.000Z",
"issue_date_in_millis": 1771804800000,
"expiry_date": "2027-02-28T23:59:59.999Z",
"expiry_date_in_millis": 1803859199999,
"max_nodes": null,
"max_resource_units": 2,
"issued_to": "<redacted>(non-production environments)",
"issuer": "API",
"start_date_in_millis": 1771804800000
}
}
The cluster overview in Kibana shows
Minutes later, possibly after reloading the Kibana GUI, it reverts back to
Attempted adding license via ECK as suggested by @leandrojmp - which worked, thank you! Clearly confused by the documentation where it seemed to support applying license via API, but reading it more carefully I understand it should’ve been done via the ECK secret.
Question regarding the license and using it on production and non-production cluster, as the self-hosted license was available for both - does that mean that we can use the one orchestration license for both environments?

