License route /licenseState not working in Ignition 8.3

Hi everyone,

In previous versions of Ignition, I used to read the license state from this URL:

http://localhost:8088/main/data/my-module/licenseState

with the following code in my module:

@Override
public void mountRouteHandlers(RouteGroup routes) {
    routes.newRoute("/licenseState")
          .type("application/json")
          .handler(this::fetchLicenseState)
          .mount();
}

After upgrading to Ignition 8.3, this URL no longer works (returns 404).

  • Has anyone else encountered this change in the route paths for custom modules in 8.3?
  • Is there a new recommended way to expose module license state via HTTP in 8.3?

Any guidance would be greatly appreciated!

Thanks!

The problem is likely the implicit main/ - that redirect was deprecated since 8.0, and finally removed in 8.3.

Try just localhost:8088/data/my-module/licenseState.

Thanks for the tip! I tried accessing http://localhost:8088/data/my-module/licenseState, but I still get a 404 Not Found error.

Based on the code you posted it would be http://localhost:8088/data/my-module/component/licenseState

1 Like

I had mistakenly put /component in the path and I've fixed it now. Thanks for pointing it out!

Could this be an unresolved bug in Ignition 8.3

Probably not, practically every Ignition module that has a route uses the same API.

Does your module hook override getMountPathAlias to return "my-module", or if not, are you sure you're using the module id where "my-module" would go? Have you added logging to verify your mountRouteHandlers is running?

Ahh, add either:

.accessControl(AccessControlStrategy.OPEN_ROUTE)

or

.requirePermission(PermissionType.READ)

while building the route.

1 Like

Thanks a lot! Adding .accessControl(AccessControlStrategy.OPEN_ROUTE) fixed the issue. Really appreciate your help!