# Ignition 8.3: Guidance/example on end-to-end WebUI / Gateway interaction

**URL:** <https://forum.inductiveautomation.com/t/ignition-8-3-guidance-example-on-end-to-end-webui-gateway-interaction/113054>\
**Category:** Module Development\
**Tags:** ignition83\
**Created:** [January 2, 2026, 4:44pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-guidance-example-on-end-to-end-webui-gateway-interaction/113054 "2026-01-02T16:44:12Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 2, 2026, 4:59pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-guidance-example-on-end-to-end-webui-gateway-interaction/113054/2 "2026-01-02T16:59:53Z")

</div>

> [@mpderbec](#):
>
> Do I need to expose a new API from the Gateway somehow?

Yes. That example includes custom APIs for the example.

For parts that write back, see the discussion of the CSRF token in this topic:

> [@8.3 File Upload route permissions issue](https://forum.inductiveautomation.com/t/8-3-file-upload-route-permissions-issue/112007/8):
>
> I banged my head on this. Wrong approach, apparently. My IDE is happy with this: const csrf = useSelector((store: ReduxRootState) =\> store.userSession.csrfToken); Will test tomorrow. My brain is fried for the day.

---

_[View the full topic](https://forum.inductiveautomation.com/t/ignition-8-3-guidance-example-on-end-to-end-webui-gateway-interaction/113054)._
