# Dictionary Field API

| **Dictionary field**                                                                                                                                                                                            |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *\<field type=”select-dictionary” name=”string” placeholder=”string” roleId=”id” optional=”boolean” allowCustomValue=”boolean” search=”boolean” dictionaryUuid=”UUID” columnUuid=”UUID” filterQuery=”string”/>* |

#### Dictionary Field attributes

* **type** — define if this field is select-dictionary type, mandatory attribute.
* **name** — string, length from 1 up to 128 symbols, restricted symbols &, “, <, >, field name used to fill in on envelope, unique for document, mandatory attribute.
* **placeholder** — field placeholder displayable on template and envelope, length from 0 up to 1024 symbols, if empty on envelope will be displayed field name, optional attribute.
* **roleId** — id of the role who should fill field on envelope, mandatory attribute.
* **optional** — boolean, defines if field to be filled in optionally or not on envelope, if not set default value false, optional attribute.
* **allowCustomValue** — boolean, defines if custom value would be acceptable on envelope, optional attribute.
* **search** — boolean, defines if field is searchable on envelope search or not, if not set default value false, optional attribute.
* **dictionaryUuid** — UUID of dictionary, mandatory attribute.
* **columnUuid** — UUID of dictionary column, which value should be taken as text value, mandatory attribute.
* **filterQuery** — string, defines filtered query for dictionary values will be available to chose on envelope, mandatory if dictionary has filtered attribute.

#### Dictionary filter query example

"{“dictionaryColumnUUID”:{“documentId”:”Id”,”fieldName”:”string”}}"

* **dictionaryColumnUUID** — UUID of dictionary column, column UUID by which dictionary values will be filtered.
* **documentId** — id, document id where field by which value data in envelope will be filtered.
* **fieldName** — string, name of the field by which value data in envelope will be filtered.

"{“dictionaryColumnUUID”:{“roleId”:”Id”}}"

* **dictionaryColumnUUID** — UUID of dictionary column, column UUID by which dictionary values will be filtered.
* **roleId** — id, id of the role by which value data in envelope will be filtered.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.docstudio.com/docstudio-docs/docstudio-for-developers/api-documentation/template-api/template-dynamic-fields-api/dictionary-field-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
