# Signature field optional in 8.3 OpenAPI schema

**URL:** <https://forum.inductiveautomation.com/t/signature-field-optional-in-8-3-openapi-schema/100805>\
**Category:** Ignition 8.3 Early Access\
**Created:** [January 13, 2025, 4:39pm UTC](https://forum.inductiveautomation.com/t/signature-field-optional-in-8-3-openapi-schema/100805 "2025-01-13T16:39:41Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andrew\_Gilbert](https://avatars.discourse-cdn.com/v4/letter/a/58956e/32.png) [@Andrew\_Gilbert](https://forum.inductiveautomation.com/u/Andrew_Gilbert)\
**Post date:** [January 13, 2025, 4:39pm UTC](https://forum.inductiveautomation.com/t/signature-field-optional-in-8-3-openapi-schema/100805/1 "2025-01-13T16:39:41Z")

</div>

I'm working with the 8.3 OpenAPI schema, and it seems that the `signature` field on a `GET` for a resource is not "required", and therefore is optional. However, submitting changes to the data for a schema seems to require a valid `signature` value. Is the OpenAPI schema correct, and we need to handle the case where a signature is not provided but data is, or should `signature` never be `undefined`, or am I missing something?

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [January 13, 2025, 4:46pm UTC](https://forum.inductiveautomation.com/t/signature-field-optional-in-8-3-openapi-schema/100805/2 "2025-01-13T16:46:58Z")

</div>

A signature should not be required for a GET, because it's highly unlikely you would know about the signature of a resource before querying for it. A signature **is required** on update of a resource because there's the possibility that the resource you are interacting with has been updated since your original query for that resource; the signature is a way to tell the back-end "this is the point-in-time I queried the resource. Please don't accept my request to update the resource if it has been updated since that point-in-time."

---

<div class="post-metadata">

**Author:** ![Andrew\_Gilbert](https://avatars.discourse-cdn.com/v4/letter/a/58956e/32.png) [@Andrew\_Gilbert](https://forum.inductiveautomation.com/u/Andrew_Gilbert)\
**Post date:** [January 13, 2025, 5:23pm UTC](https://forum.inductiveautomation.com/t/signature-field-optional-in-8-3-openapi-schema/100805/3 "2025-01-13T17:23:57Z")

</div>

Oh, I guess I didn't include all the details: it's the GET response that has an optional `signature` field, while the PUT request requires the signature. In other words, the GET doesn't seem to guarantee that it provides a signature to be used when writing back via the PUT.

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [January 13, 2025, 5:32pm UTC](https://forum.inductiveautomation.com/t/signature-field-optional-in-8-3-openapi-schema/100805/4 "2025-01-13T17:32:44Z")

</div>

All resources should include a signature field as part of their GET response. Can you show me where you're seeing that the `signature` field is optional?

---

<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:** [January 13, 2025, 5:34pm UTC](https://forum.inductiveautomation.com/t/signature-field-optional-in-8-3-openapi-schema/100805/5 "2025-01-13T17:34:40Z")

</div>

It's in any of the schemas for a resource GET (List Foo Resources):

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/d/ad25ba2a45539754d25fab772202556b79ca45ea.png)

@Andrew_Gilbert I think we just haven't annotated the properties in that schema as required or not required, but AFAICT the signature will always be there.

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [January 13, 2025, 5:36pm UTC](https://forum.inductiveautomation.com/t/signature-field-optional-in-8-3-openapi-schema/100805/6 "2025-01-13T17:36:46Z")

</div>

Agreed. The only time that field might not exist is if a user manually modifies the JSON file through the file system. Even API attempts to remove the field would result in the field being re-added as part of our write process.
