Skip to content

License Installation Mismatch

URI: https://docs.ankatech.co/errors/license-installation-mismatch
HTTP Status: 422 Unprocessable Entity

When you see this

The license artifact is authentic — its composite signature verified — but it was issued for a different installation than the one importing it. Nothing was stored.

A deployment license is bound to one installation through the installationId in its signed payload. That identifier is generated when the environment is created, is kept in the installation's integrity-protected trial sentinel, and is the one the console's Platform → License page shows. The environment name is only a label: it is signed into the license and never compared, so two installations that share a name still refuse each other's license.

Common Causes

  • A license issued for another installation of the same customer — for example the staging license imported into production.
  • A license issued for an environment that has since been recreated. A fresh environment creation generates a new installation ID; a license issued for the environment before it was recreated names the old one.
  • A license issued from an activation request that was downloaded from a different installation.

A backup restore does not cause this refusal: a restore keeps the installation's sentinel, and with it the installation ID, so a license issued before the backup keeps matching.

Response Example

{
  "type": "https://docs.ankatech.co/errors/license-installation-mismatch",
  "title": "License installation mismatch",
  "status": 422,
  "detail": "The license artifact was issued for a different installation. Request a license from this installation's activation request.",
  "instance": "/api/v3/admin/platform/license/import",
  "extensions": { "requestId": "8b0c2d4e-6f1a-4b3c-9d5e-2a7f8c1b0d3e" }
}

Content-Type: application/problem+json — the response follows RFC 9457 Problem Details. The detail names neither installation ID: this installation's is on the License page, and the artifact's is in the file you hold.

Raised by the License Server, relayed by the Admin API

The import is POST /api/v3/admin/platform/license/import on the Admin API, which forwards the artifact to the licence server over a service-to-service call; the licence server is the only validator of the artifact and raises this refusal. The Admin API relays its type, title, detail and status unchanged and sets its own instance and extensions.requestId. Correlate a request by extensions.requestId. The refusal is recorded as a platform audit event carrying this problem type.

How to Resolve

  1. On the installation that should be licensed, open Platform → License and note the installation ID it shows.
  2. Compare it with the installationId in the license file you tried to import. If they differ, the file belongs to another installation; do not edit it, because any change breaks its signature.
  3. Select Download activation request on that same page and send the file to ANKATech. The license issued from it names this installation.
  4. Import the new license.

For full schema definitions, examples, and interactive testing, see the Developer Hub Reference.

* restricted content — see higher-tier documentation