# JSON missing Properties

**URL:** <https://forum.inductiveautomation.com/t/json-missing-properties/103672>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [March 14, 2025, 1:48am UTC](https://forum.inductiveautomation.com/t/json-missing-properties/103672 "2025-03-14T01:48:26Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [March 14, 2025, 6:03am UTC](https://forum.inductiveautomation.com/t/json-missing-properties/103672/2 "2025-03-14T06:03:17Z")

</div>

I suggest you copy the json of a tag/UDT Instance/UDT Definition and inspect what properties are stored against the tag(s). You will find that only the properties whose values have been overridden are stored with the configuration.

This means:

- the configuration of standard tags will store all overridden property values in their config
- the configuration of tags within UDT instances will store all property values overridden _inside the UDT Instance, **not** inside this and the UDT Definition_, (as well as its name and tag type, since these are important)

To get _all_ overridden property values regardless of where they are overridden (inside of the UDT Instance or inside of the UDT Definition), then you should use `system.tag.getConfiguration`.

To also include the default values of properties that haven't been overridden is a bit more involved. These might get you started:

**Tag Props**

> [@Problem with system.tag.getConfiguration() doesn't return dataType](https://forum.inductiveautomation.com/t/problem-with-system-tag-getconfiguration-doesnt-return-datatype/51293/5):
>
> Ok, after some help, you can get the default value from com.inductiveautomation.ignition.common.tags.config.properties.WellKnownTagProps e.g. from com.inductiveautomation.ignition.common.tags.config.properties import WellKnownTagProps propObj = WellKnownTagProps.DataType print propObj.defaultValue print propObj.name print propObj.type \>\>\>\> Int4 dataType \<type 'com.inductiveautomation.ignition.common.sqltags.model.types.DataType'\>

**Alarm Props**

> [@system.tag.getAlarmStates alternative?](https://forum.inductiveautomation.com/t/system-tag-getalarmstates-alternative/27803/13):
>
> Update: You can get the alarm default values using: from com.inductiveautomation.ignition.common.alarming.config import CommonAlarmProperties, AlarmModeProperties properties = {} properties.update(dict((s.getName(), s.getDefaultValue()) for s in CommonAlarmProperties.values())) properties.update(dict((s.getName(), s.getDefaultValue()) for s in AlarmModeProperties.values()))

---

_[View the full topic](https://forum.inductiveautomation.com/t/json-missing-properties/103672)._
