# Dropbox::Sign::SubFormFieldsPerDocumentBase
The fields that should appear on the document, expressed as an array of objects. (We're currently fixing a bug where this property only accepts a two-dimensional array. You can read about it here: <a href="/docs/openapi/form-fields-per-document" target="_blank">Using Form Fields per Document</a>.)
**NOTE**: Fields like **text**, **dropdown**, **checkbox**, **radio**, and **hyperlink** have additional required and optional parameters. Check out the list of [additional parameters](/api/reference/constants/#form-fields-per-document) for these field types.
* Text Field use `SubFormFieldsPerDocumentText`
* Dropdown Field use `SubFormFieldsPerDocumentDropdown`
* Hyperlink Field use `SubFormFieldsPerDocumentHyperlink`
* Checkbox Field use `SubFormFieldsPerDocumentCheckbox`
* Radio Field use `SubFormFieldsPerDocumentRadio`
* Signature Field use `SubFormFieldsPerDocumentSignature`
* Date Signed Field use `SubFormFieldsPerDocumentDateSigned`
* Initials Field use `SubFormFieldsPerDocumentInitials`
* Text Merge Field use `SubFormFieldsPerDocumentTextMerge`
* Checkbox Merge Field use `SubFormFieldsPerDocumentCheckboxMerge`
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| `document_index`*_required_ | ```Integer``` | Represents the integer index of the `file` or `file_url` document the field should be attached to. | |
| `api_id`*_required_ | ```String``` | An identifier for the field that is unique across all documents in the request. | |
| `height`*_required_ | ```Integer``` | Size of the field in pixels. | |
| `required`*_required_ | ```Boolean``` | Whether this field is required. | |
| `signer`*_required_ | ```String``` | Signer index identified by the offset in the signers parameter (0-based indexing), indicating which signer should fill out the field.
**NOTE**: If type is `text-merge` or `checkbox-merge`, you must set this to sender in order to use pre-filled data. | |
| `type`*_required_ | ```String``` | | |
| `width`*_required_ | ```Integer``` | Size of the field in pixels. | |
| `x`*_required_ | ```Integer``` | Location coordinates of the field in pixels. | |
| `y`*_required_ | ```Integer``` | Location coordinates of the field in pixels. | |
| `name` | ```String``` | Display name for the field. | |
| `page` | ```Integer``` | Page in the document where the field should be placed (requires documents be PDF files).
- When the page number parameter is supplied, the API will use the new coordinate system. - Check out the differences between both [coordinate systems](https://faq.hellosign.com/hc/en-us/articles/217115577) and how to use them. | |