> For the complete documentation index, see [llms.txt](https://developers.docstudio.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.docstudio.com/api-documentation/template-api/template-dynamic-fields-api/checkbox-field-api.md).

# Checkbox Field API

Use this page to add a checkbox field to template XML. Assign the field to a role with `roleId`, then reuse the same field `name` in envelope requests.

### Checkbox field example

```xml
<field
    type="checkbox"
    name="accept_terms"
    roleId="fd8cb669-db1d-41e1-8f6c-2ad3f8fa981a"
    search="true"
    optional="false"
/>
```

### Required attributes

* `type` — field type. Use `checkbox`.
* `name` — field name. Use 1 to 128 characters. Do not use `&`, `"`, `<`, or `>`. Keep the value unique within one document.
* `roleId` — role identifier for the recipient who fills the field.

### Optional attributes

* `search` — set to `true` if the field value should be available in envelope search. If you omit it, the default value is `false`.
* `optional` — set to `true` if the recipient can leave the field empty. If you omit it, the default value is `false`.

### Rules

* Use the same `name` later when you send or fill envelope data.
* Keep the field name unique within the same document.

### Related topics

* [Template Dynamic Fields API](/api-documentation/template-api/template-dynamic-fields-api.md)
* [Template Structure API](/api-documentation/template-api/template-structure-api.md)
* [Send Envelope](/api-documentation/envelope/send-envelope.md)
* [Fill Envelope](/api-documentation/envelope/fill-envelope.md)
