# License route /licenseState not working in Ignition 8.3

**URL:** <https://forum.inductiveautomation.com/t/license-route-licensestate-not-working-in-ignition-8-3/111405>\
**Category:** Module Development\
**Created:** [October 13, 2025, 6:08pm UTC](https://forum.inductiveautomation.com/t/license-route-licensestate-not-working-in-ignition-8-3/111405 "2025-10-13T18:08:33Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mehrdad\_Telli](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mehrdad_telli/32/77763_2.png) [@Mehrdad\_Telli](https://forum.inductiveautomation.com/u/Mehrdad_Telli)\
**Post date:** [October 13, 2025, 6:08pm UTC](https://forum.inductiveautomation.com/t/license-route-licensestate-not-working-in-ignition-8-3/111405/1 "2025-10-13T18:08:33Z")

</div>

Hi everyone,

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

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

```

with the following code in my module:

```python
@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!

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [October 13, 2025, 6:09pm UTC](https://forum.inductiveautomation.com/t/license-route-licensestate-not-working-in-ignition-8-3/111405/2 "2025-10-13T18:09:57Z")

</div>

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`.

---

<div class="post-metadata">

**Author:** ![Mehrdad\_Telli](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mehrdad_telli/32/77763_2.png) [@Mehrdad\_Telli](https://forum.inductiveautomation.com/u/Mehrdad_Telli)\
**Post date:** [October 13, 2025, 6:54pm UTC](https://forum.inductiveautomation.com/t/license-route-licensestate-not-working-in-ignition-8-3/111405/3 "2025-10-13T18:54:51Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 13, 2025, 7:02pm UTC](https://forum.inductiveautomation.com/t/license-route-licensestate-not-working-in-ignition-8-3/111405/4 "2025-10-13T19:02:59Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Mehrdad\_Telli](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mehrdad_telli/32/77763_2.png) [@Mehrdad\_Telli](https://forum.inductiveautomation.com/u/Mehrdad_Telli)\
**Post date:** [October 13, 2025, 7:22pm UTC](https://forum.inductiveautomation.com/t/license-route-licensestate-not-working-in-ignition-8-3/111405/5 "2025-10-13T19:22:29Z")

</div>

> [@Kevin.Herron](#):
>
> component

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

---

<div class="post-metadata">

**Author:** ![Mehrdad\_Telli](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mehrdad_telli/32/77763_2.png) [@Mehrdad\_Telli](https://forum.inductiveautomation.com/u/Mehrdad_Telli)\
**Post date:** [October 13, 2025, 7:29pm UTC](https://forum.inductiveautomation.com/t/license-route-licensestate-not-working-in-ignition-8-3/111405/6 "2025-10-13T19:29:26Z")

</div>

Could this be an **unresolved bug in Ignition 8.3**

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 13, 2025, 7:36pm UTC](https://forum.inductiveautomation.com/t/license-route-licensestate-not-working-in-ignition-8-3/111405/7 "2025-10-13T19:36:21Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 13, 2025, 7:42pm UTC](https://forum.inductiveautomation.com/t/license-route-licensestate-not-working-in-ignition-8-3/111405/8 "2025-10-13T19:42:31Z")

</div>

Ahh, add either:

```python
.accessControl(AccessControlStrategy.OPEN_ROUTE)

```

or

```python
.requirePermission(PermissionType.READ)

```

while building the route.

---

<div class="post-metadata">

**Author:** ![Mehrdad\_Telli](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mehrdad_telli/32/77763_2.png) [@Mehrdad\_Telli](https://forum.inductiveautomation.com/u/Mehrdad_Telli)\
**Post date:** [October 13, 2025, 8:07pm UTC](https://forum.inductiveautomation.com/t/license-route-licensestate-not-working-in-ignition-8-3/111405/9 "2025-10-13T20:07:44Z")

</div>

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