# Collect inputs using a Reader Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs.md) on a Reader to display input forms and collect information from your customers. ## Returns Returns an updated `Reader` resource. ## Parameters - `inputs` (array of objects, required) List of inputs to be collected from the customer using the Reader. Maximum 5 inputs. - `inputs.custom_text` (object, required) Customize the text which will be displayed while collecting this input - `inputs.custom_text.title` (string, required) The title which will be displayed when collecting this input The maximum length is 40 characters. - `inputs.custom_text.description` (string, optional) The description which will be displayed when collecting this input The maximum length is 500 characters. - `inputs.custom_text.skip_button` (string, optional) Custom text for the skip button. Maximum 14 characters. The maximum length is 14 characters. - `inputs.custom_text.submit_button` (string, optional) Custom text for the submit button. Maximum 30 characters. The maximum length is 30 characters. - `inputs.type` (enum, required) The type of input to collect Possible enum values: - `email` Collect an email - `numeric` Collect a number - `phone` Collect a phone number - `selection` Collect a selection from one or more choices - `signature` Collect a signature - `text` Collect text - `inputs.required` (boolean, optional) Indicate that this input is required, disabling the skip button - `inputs.selection` (object, optional) Options for the `selection` input - `inputs.selection.choices` (array of objects, required) List of choices for the `selection` input - `inputs.selection.choices.id` (string, required) The unique identifier for this choice The maximum length is 50 characters. - `inputs.selection.choices.text` (string, required) The text which will be shown on the button for this choice The maximum length is 30 characters. - `inputs.selection.choices.style` (enum, optional) The style of the button which will be shown for this choice. Can be `primary` or `secondary`. - `inputs.toggles` (array of objects, optional) List of toggles to be displayed and customization for the toggles - `inputs.toggles.default_value` (enum, optional) The default value of the toggle. Can be `enabled` or `disabled`. - `inputs.toggles.description` (string, optional) The description which will be displayed for the toggle. Maximum 50 characters. At least one of title or description must be provided. The maximum length is 50 characters. - `inputs.toggles.title` (string, optional) The title which will be displayed for the toggle. Maximum 50 characters. At least one of title or description must be provided. The maximum length is 50 characters. - `metadata` (object, optional) Set of [key-value pairs](https://docs.stripe.com/docs/api/metadata.md) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. ```curl curl https://api.stripe.com/v1/terminal/readers/tmr_OXYJvwsea7PDiDHNciXRkytb/collect_inputs \ -u "<>" \ -d "inputs[0][type]=signature" \ -d "inputs[0][custom_text][title]=Signature" \ -d "inputs[0][custom_text][description]=Please sign below" \ -d "inputs[0][custom_text][submit_button]=Submit" \ -d "inputs[0][custom_text][skip_button]=Skip" \ -d "inputs[0][required]=false" \ -d "inputs[1][type]=selection" \ -d "inputs[1][custom_text][title]=Selection" \ -d "inputs[1][custom_text][description]=Please select one" \ -d "inputs[1][required]=true" \ -d "inputs[1][selection][choices][0][style]=primary" \ -d "inputs[1][selection][choices][0][text]=choice_1" \ -d "inputs[1][selection][choices][0][id]=choice_1_id" \ -d "inputs[1][selection][choices][1][style]=secondary" \ -d "inputs[1][selection][choices][1][text]=choice_2" \ -d "inputs[1][selection][choices][1][id]=choice_2_id" \ -d "inputs[2][type]=email" \ -d "inputs[2][custom_text][title]=Enter your email" \ --data-urlencode "inputs[2][custom_text][description]=We'll send updates on your order and occasional deals" \ -d "inputs[2][custom_text][submit_button]=Submit" \ -d "inputs[2][custom_text][skip_button]=Skip" \ -d "inputs[2][required]=false" ``` ### Response ```json { "id": "tmr_OXYJvwsea7PDiDHNciXRkytb", "object": "terminal.reader", "action": { "failure_code": null, "failure_message": null, "collect_inputs": { "inputs": [ { "type": "signature", "custom_text": { "title": "Signature", "description": "Please sign below", "submit_button": "Submit", "skip_button": "Skip" }, "required": false, "signature": { "value": null } }, { "type": "selection", "custom_text": { "title": "Selection", "description": "Please select one" }, "required": true, "selection": { "choices": [ { "style": "primary", "text": "choice_1", "id": "choice_1_id" }, { "style": "secondary", "text": "choice_2", "id": "choice_2_id" } ], "value": null } }, { "type": "email", "custom_text": { "title": "Enter your email", "description": "We'll send updates on your order and occasional deals", "submit_button": "Submit", "skip_button": "Skip" }, "required": false, "email": { "value": null } } ] }, "status": "in_progress", "type": "collect_inputs" }, "device_deploy_group": null, "device_sw_version": null, "device_type": "bbpos_wisepos_e", "ip_address": "192.168.2.2", "label": "Blue Rabbit", "livemode": false, "location": null, "metadata": {}, "serial_number": "123-456-789", "software": null, "status": "online" } ```