> For the complete documentation index, see [llms.txt](https://alex-robenko.gitbook.io/commsdsl-specification/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alex-robenko.gitbook.io/commsdsl-specification/appendix/fields.md).

# Common Properties of Fields

Refer to [Common Properties of Fields](/commsdsl-specification/fields/common.md) chapter for detailed description.

|    Property Name    |                    Allowed type / value                   | DSL Version | Required | Default Value | Description                                                                                                                                                                                                                                                                                           |
| :-----------------: | :-------------------------------------------------------: | :---------: | :------: | :-----------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|       **name**      |      [name](/commsdsl-specification/names.md) string      |      1      |    yes   |               | Name of the field.                                                                                                                                                                                                                                                                                    |
|   **description**   |                           string                          |      1      |    no    |               | Human readable description of the field.                                                                                                                                                                                                                                                              |
|      **reuse**      | [reference](/commsdsl-specification/references.md) string |      1      |    no    |               | Field definition of which to copy.                                                                                                                                                                                                                                                                    |
|   **displayName**   |                           string                          |      1      |    no    |               | Name of the field to display. If empty, the code generator must use value of property **name** instead. In order to force empty name to display, use "\_" (underscore).                                                                                                                               |
| **displayReadOnly** |         [bool](/commsdsl-specification/boolean.md)        |      1      |    no    |     false     | Disable modification of the field in visual analysis tool(s).                                                                                                                                                                                                                                         |
|  **displayHidden**  |         [bool](/commsdsl-specification/boolean.md)        |      1      |    no    |     false     | Don't display field at all in visual analysis tool(s).                                                                                                                                                                                                                                                |
|   **sinceVersion**  |       [unsigned](/commsdsl-specification/numeric.md)      |      1      |    no    |       0       | <p>Version of the protocol in which field was introduced.<br> Applicable only to members of the <a href="/commsdsl-specification/messages.md">\<message></a> or <a href="/commsdsl-specification/fields/bundle.md">\<bundle></a>.</p>                                                                 |
|    **deprecated**   |       [unsigned](/commsdsl-specification/numeric.md)      |      1      |    no    |  max unsigned | <p>Version of the protocol in which field was deprecated.<br>Must be greater than value of <strong>sinceVersion</strong>.<br> Applipable only to members of the <a href="/commsdsl-specification/messages.md">\<message></a> or <a href="/commsdsl-specification/fields/bundle.md">\<bundle></a>.</p> |
|     **removed**     |         [bool](/commsdsl-specification/boolean.md)        |      1      |    no    |     false     | <p>Indicates whether deprecated field has been removed from being serialized.<br> Applicable only to members of the <a href="/commsdsl-specification/messages.md">\<message></a> or <a href="/commsdsl-specification/fields/bundle.md">\<bundle></a>.</p>                                             |
|  **failOnInvalid**  |         [bool](/commsdsl-specification/boolean.md)        |      1      |    no    |     false     | Fail *read* operation if read value is invalid.                                                                                                                                                                                                                                                       |
|      **pseudo**     |         [bool](/commsdsl-specification/boolean.md)        |      1      |    no    |     false     | In case of **true**, don't serialize/deserialize this field.                                                                                                                                                                                                                                          |
|   **customizable**  |         [bool](/commsdsl-specification/boolean.md)        |      1      |    no    |     false     | Mark the field to allow compile time customization regardless of code generator's level of customization.                                                                                                                                                                                             |
|   **semanticType**  |          "none", "messageId", "version", "length"         |      1      |    no    |      none     | Specify semantic type of the field. It allows code generator to generate special code for special cases. Value "length" was introduced in **v2** of this specification.                                                                                                                               |
