# How to upload a Custom Theme from scratch using the Gateway API?

**URL:** <https://forum.inductiveautomation.com/t/how-to-upload-a-custom-theme-from-scratch-using-the-gateway-api/116771>\
**Category:** Ignition\
**Tags:** ignition83\
**Created:** [August 12, 2026, 9:33pm UTC](https://forum.inductiveautomation.com/t/how-to-upload-a-custom-theme-from-scratch-using-the-gateway-api/116771 "2026-08-12T21:33:18Z")\
**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:** [August 13, 2026, 12:00am UTC](https://forum.inductiveautomation.com/t/how-to-upload-a-custom-theme-from-scratch-using-the-gateway-api/116771/2 "2026-08-13T00:00:40Z")

</div>

Related topic:

> [@Using system.config to create themes across gateways](https://forum.inductiveautomation.com/t/using-system-config-to-create-themes-across-gateways/116738):
>
> I am trying out the new system.config functions to send a custom theme to remote gateways. Here is my project library script and my corresponding message script. def sendHpHmiTheme(gateways = None): if not gateways: gateways = getOnlineGateways() if not gateways: # No gateways are online return # Get resource definition and package it into payload res = system.config.getResource(moduleId="com.inductiveautomation.perspective", typeId="themes", name="hp-hmi") configData = { 'nam…

---

_[View the full topic](https://forum.inductiveautomation.com/t/how-to-upload-a-custom-theme-from-scratch-using-the-gateway-api/116771)._
