# Configure custom hosted deposit properties This topic describes how to use and configure custom deposit properties. For information on how to use hosted deposit forms, see [Hosted deposit API integration](/docs/dev-docs/hosted-deposit-integration). Use custom deposit properties to obtain more information from the customer when using a hosted deposit. Rebilly accepts custom fields that are provided in a JSON file with structures that are compliant with the [JSON schema](https://json-schema.org/specification.html) draft 4, 6, and 7. Hosted deposits render custom properties as form inputs that follow JSONForms rules. For more information, see the [JSONForms documentation](https://jsonforms.io/). The following are examples of how to use custom fields: - [String input](#string-input). - [Numeric input](#numeric-input). - [Single selection dropdown input](#single-selection-dropdown-input). - [Multiple selection dropdown input](#multiple-selection-dropdown-input). ## Required fields Use the property `required` to make some properties mandatory. Example: ```json { "type": "object", "properties": { "email": { "type": "string", "title": "Email", "maxLength": 64, "format": "email" } ... }, "required": ["email"] } ``` ## String input Use the string JSON-schema type to render input types `text`, `textarea`, or `date` with the following basic rules: | JSON field | Description | | --- | --- | | property key | Label property `for` and input properties `id` and `name`. | | title | Label text in the hosted deposit form. | | maxLength | Determines input `type`. The default `type` is `text`. For values greater or equal to 255, the HTML element is `