> ## Documentation Index
> Fetch the complete documentation index at: https://docs.r28.ai/charter/llms.txt
> Use this file to discover all available pages before exploring further.

# Objects

> Every object and enum the Forms tools accept.

## Model tree

<div className="model-tree"><div className="model-tree-scroll"><div className="tree-node"><a href="#formscreatebody">FormsCreateBody</a><div className="tree-children"><div className="tree-node"><a href="#info">Info</a></div></div></div><div className="tree-node"><a href="#batchupdateformbody">BatchUpdateFormBody</a><div className="tree-children"><div className="tree-node"><a href="#request">Request</a><div className="tree-children"><div className="tree-node"><a href="#updateforminforequest">UpdateFormInfoRequest</a><div className="tree-children"><div className="tree-node"><a href="#updateforminfo">UpdateFormInfo</a></div><div className="tree-node"><a href="#fieldmask">FieldMask</a></div></div></div><div className="tree-node"><a href="#updatesettingsrequest">UpdateSettingsRequest</a><div className="tree-children"><div className="tree-node"><a href="#formsettings">FormSettings</a><div className="tree-children"><div className="tree-node"><a href="#quizsettings">QuizSettings</a></div></div></div><div className="tree-node"><a href="#fieldmask">FieldMask</a></div></div></div><div className="tree-node"><a href="#createitemrequest">CreateItemRequest</a><div className="tree-children"><div className="tree-node"><a href="#item">Item</a><div className="tree-children"><div className="tree-node"><a href="#questionitem">QuestionItem</a><div className="tree-children"><div className="tree-node"><a href="#question">Question</a><div className="tree-children"><div className="tree-node"><a href="#grading">Grading</a><div className="tree-children"><div className="tree-node"><a href="#correctanswers">CorrectAnswers</a><div className="tree-children"><div className="tree-node"><a href="#correctanswer">CorrectAnswer</a></div></div></div><div className="tree-node"><a href="#feedback">Feedback</a><div className="tree-children"><div className="tree-node"><a href="#extramaterial">ExtraMaterial</a><div className="tree-children"><div className="tree-node"><a href="#textlink">TextLink</a></div><div className="tree-node"><a href="#videolink">VideoLink</a></div></div></div></div></div></div></div><div className="tree-node"><a href="#choicequestion">ChoiceQuestion</a><div className="tree-children"><div className="tree-node"><a href="#option">Option</a><div className="tree-children"><div className="tree-node"><a href="#image">Image</a><div className="tree-children"><div className="tree-node"><a href="#mediaproperties">MediaProperties</a></div></div></div></div></div></div></div><div className="tree-node"><a href="#textquestion">TextQuestion</a></div><div className="tree-node"><a href="#scalequestion">ScaleQuestion</a></div><div className="tree-node"><a href="#datequestion">DateQuestion</a></div><div className="tree-node"><a href="#timequestion">TimeQuestion</a></div><div className="tree-node"><a href="#fileuploadquestion">FileUploadQuestion</a></div><div className="tree-node"><a href="#rowquestion">RowQuestion</a></div><div className="tree-node"><a href="#ratingquestion">RatingQuestion</a></div></div></div><div className="tree-node"><a href="#image">Image</a> <span className="tree-note">above</span></div></div></div><div className="tree-node"><a href="#questiongroupitem">QuestionGroupItem</a><div className="tree-children"><div className="tree-node"><a href="#question">Question</a> <span className="tree-note">above</span></div><div className="tree-node"><a href="#image">Image</a> <span className="tree-note">above</span></div><div className="tree-node"><a href="#grid">Grid</a><div className="tree-children"><div className="tree-node"><a href="#choicequestion">ChoiceQuestion</a> <span className="tree-note">above</span></div></div></div></div></div><div className="tree-node"><a href="#pagebreakitem">PageBreakItem</a></div><div className="tree-node"><a href="#textitem">TextItem</a></div><div className="tree-node"><a href="#imageitem">ImageItem</a><div className="tree-children"><div className="tree-node"><a href="#image">Image</a> <span className="tree-note">above</span></div></div></div><div className="tree-node"><a href="#videoitem">VideoItem</a><div className="tree-children"><div className="tree-node"><a href="#video">Video</a><div className="tree-children"><div className="tree-node"><a href="#mediaproperties">MediaProperties</a></div></div></div></div></div></div></div><div className="tree-node"><a href="#location">Location</a></div></div></div><div className="tree-node"><a href="#moveitemrequest">MoveItemRequest</a><div className="tree-children"><div className="tree-node"><a href="#location">Location</a></div></div></div><div className="tree-node"><a href="#deleteitemrequest">DeleteItemRequest</a><div className="tree-children"><div className="tree-node"><a href="#location">Location</a></div></div></div><div className="tree-node"><a href="#updateitemrequest">UpdateItemRequest</a><div className="tree-children"><div className="tree-node"><a href="#item">Item</a> <span className="tree-note">above</span></div><div className="tree-node"><a href="#location">Location</a></div><div className="tree-node"><a href="#fieldmask">FieldMask</a></div></div></div></div></div><div className="tree-node"><a href="#writecontrol">WriteControl</a></div></div></div><div className="tree-node"><a href="#setpublishsettingsbody">SetPublishSettingsBody</a><div className="tree-children"><div className="tree-node"><a href="#publishsettings">PublishSettings</a><div className="tree-children"><div className="tree-node"><a href="#publishstate">PublishState</a></div></div></div><div className="tree-node"><a href="#fieldmask">FieldMask</a></div></div></div></div></div>

## FormsCreateBody

The body of a create-form request.

<div className="reference-table">
  | Field                                                        | Type          | Description                                                                                                        |
  | ------------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------ |
  | `info` <span className="required" title="required">\*</span> | [Info](#info) | Required. The title and description of the form. Only the title and the document title are copied to the new form. |
</div>

## Info

The general information for a form.

<div className="reference-table">
  | Field                                                         | Type                                                                                                     | Description                                                                                                                                                                                                                                                                                                                                                             |
  | ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `title` <span className="required" title="required">\*</span> | `string`                                                                                                 | Required. The title of the form which is visible to responders.                                                                                                                                                                                                                                                                                                         |
  | `documentTitle`                                               | `string`<br /><span className="markers"><span className="marker" data-marker="mode">create</span></span> | Output only. The title of the document which is visible in Drive. If `Info.title` is empty, `documentTitle` may appear in its place in the Google Forms UI and be visible to responders. `documentTitle` can be set on create, but cannot be modified by a batchUpdate request. Please use the Google Drive API if you need to programmatically update `documentTitle`. |
</div>

## BatchUpdateFormBody

The body of a batch-update request.

<div className="reference-table">
  | Field                                                            | Type                          | Description                                                                                                                                                                                                                                                                                                               |
  | ---------------------------------------------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `includeFormInResponse`                                          | `boolean`                     | Whether to return an updated version of the model in the response.                                                                                                                                                                                                                                                        |
  | `requests` <span className="required" title="required">\*</span> | [Request](#request)\[]        | Required. The update requests of this batch. Each entry sets exactly one kind of request, and they apply in order against a form that shifts as they do: a create\_item at index 2 moves every later item down, so order several insertions back-to-front, or state each location against the form as it will be by then. |
  | `writeControl`                                                   | [WriteControl](#writecontrol) | Provides control over how write requests are executed.                                                                                                                                                                                                                                                                    |
</div>

## Request

The kinds of update requests that can be made.

<div className="reference-table">
  | Field            | Type                                            | Description                           |
  | ---------------- | ----------------------------------------------- | ------------------------------------- |
  | `updateFormInfo` | [UpdateFormInfoRequest](#updateforminforequest) | Update Form's Info.                   |
  | `updateSettings` | [UpdateSettingsRequest](#updatesettingsrequest) | Updates the Form's settings.          |
  | `createItem`     | [CreateItemRequest](#createitemrequest)         | Create a new item.                    |
  | `moveItem`       | [MoveItemRequest](#moveitemrequest)             | Move an item to a specified location. |
  | `deleteItem`     | [DeleteItemRequest](#deleteitemrequest)         | Delete an item.                       |
  | `updateItem`     | [UpdateItemRequest](#updateitemrequest)         | Update an item.                       |
</div>

## UpdateFormInfoRequest

Update Form's Info.

<div className="reference-table">
  | Field                                                              | Type                                                                                                                              | Description         |
  | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
  | `info`                                                             | [UpdateFormInfo](#updateforminfo)                                                                                                 | The info to update. |
  | `updateMask` <span className="required" title="required">\*</span> | [FieldMask](#fieldmask)<br /><span className="markers"><span className="marker" data-marker="transform">field\_mask</span></span> | Field mask paths    |
</div>

## UpdateFormInfo

Info, with every field optional.

<div className="reference-table">
  | Field         | Type                                                                                                     | Description                                                     |
  | ------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
  | `title`       | `string`                                                                                                 | Required. The title of the form which is visible to responders. |
  | `description` | `string`<br /><span className="markers"><span className="marker" data-marker="mode">update</span></span> | The description of the form.                                    |
</div>

## FieldMask

`FieldMask` represents a set of symbolic field paths.

<div className="reference-table">
  | Field                                                         | Type        | Description                                                                                                                                                      |
  | ------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `paths` <span className="required" title="required">\*</span> | `string`\[] | The set of field mask paths. Each path is a dot-separated sequence of camelCase field names, e.g. 'userEnteredValue' or 'userEnteredFormat.horizontalAlignment'. |
</div>

## UpdateSettingsRequest

Update Form's `FormSettings`.

<div className="reference-table">
  | Field                                                              | Type                                                                                                                              | Description                            |
  | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
  | `settings` <span className="required" title="required">\*</span>   | [FormSettings](#formsettings)                                                                                                     | Required. The settings to update with. |
  | `updateMask` <span className="required" title="required">\*</span> | [FieldMask](#fieldmask)<br /><span className="markers"><span className="marker" data-marker="transform">field\_mask</span></span> | Field mask paths                       |
</div>

## FormSettings

A form's settings.

<div className="reference-table">
  | Field                 | Type                                        | Description                                                                                                                                                                                                   |
  | --------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `quizSettings`        | [QuizSettings](#quizsettings)               | Settings related to quiz forms and grading.                                                                                                                                                                   |
  | `emailCollectionType` | [EmailCollectionType](#emailcollectiontype) | Optional. The setting that determines whether the form collects email addresses from respondents. If the form collects email addresses, the values are populated in the `formResponse.respondentEmail` field. |
</div>

## QuizSettings

Settings related to quiz forms and grading.

<div className="reference-table">
  | Field    | Type      | Description                                                                                                                                                |
  | -------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `isQuiz` | `boolean` | Whether this form is a quiz or not. When true, responses are graded based on question `Grading`. Upon setting to false, all question `Grading` is deleted. |
</div>

## CreateItemRequest

Create an item in a form.

<div className="reference-table">
  | Field                                                            | Type                  | Description                            |
  | ---------------------------------------------------------------- | --------------------- | -------------------------------------- |
  | `item` <span className="required" title="required">\*</span>     | [Item](#item)         | Required. The item to create.          |
  | `location` <span className="required" title="required">\*</span> | [Location](#location) | Required. Where to place the new item. |
</div>

## Item

A single item of the form. `kind` defines which kind of item it is.

<div className="reference-table">
  | Field               | Type                                    | Description                                                                                                                          |
  | ------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
  | `itemId`            | `string`                                | The item ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned. |
  | `title`             | `string`                                | The title of the item.                                                                                                               |
  | `description`       | `string`                                | The description of the item.                                                                                                         |
  | `questionItem`      | [QuestionItem](#questionitem)           | Poses a question to the user.                                                                                                        |
  | `questionGroupItem` | [QuestionGroupItem](#questiongroupitem) | Poses one or more questions to the user with a single major prompt.                                                                  |
  | `pageBreakItem`     | [PageBreakItem](#pagebreakitem)         | Starts a new page with a title.                                                                                                      |
  | `textItem`          | [TextItem](#textitem)                   | Displays a title and description on the page.                                                                                        |
  | `imageItem`         | [ImageItem](#imageitem)                 | Displays an image on the page.                                                                                                       |
  | `videoItem`         | [VideoItem](#videoitem)                 | Displays a video on the page.                                                                                                        |
</div>

## QuestionItem

A form item containing a single question.

<div className="reference-table">
  | Field                                                            | Type                  | Description                              |
  | ---------------------------------------------------------------- | --------------------- | ---------------------------------------- |
  | `question` <span className="required" title="required">\*</span> | [Question](#question) | Required. The displayed question.        |
  | `image`                                                          | [Image](#image)       | The image displayed within the question. |
</div>

## Question

Any question. The specific type of question is known by its `kind`.

<div className="reference-table">
  | Field                | Type                                      | Description                                                                                                                                         |
  | -------------------- | ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `questionId`         | `string`                                  | Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned. |
  | `required`           | `boolean`                                 | Whether the question must be answered in order for a respondent to submit their response.                                                           |
  | `grading`            | [Grading](#grading)                       | Grading setup for the question.                                                                                                                     |
  | `choiceQuestion`     | [ChoiceQuestion](#choicequestion)         | A respondent can choose from a pre-defined set of options.                                                                                          |
  | `textQuestion`       | [TextQuestion](#textquestion)             | A respondent can enter a free text response.                                                                                                        |
  | `scaleQuestion`      | [ScaleQuestion](#scalequestion)           | A respondent can choose a number from a range.                                                                                                      |
  | `dateQuestion`       | [DateQuestion](#datequestion)             | A respondent can enter a date.                                                                                                                      |
  | `timeQuestion`       | [TimeQuestion](#timequestion)             | A respondent can enter a time.                                                                                                                      |
  | `fileUploadQuestion` | [FileUploadQuestion](#fileuploadquestion) | A respondent can upload one or more files.                                                                                                          |
  | `rowQuestion`        | [RowQuestion](#rowquestion)               | A row of a `QuestionGroupItem`.                                                                                                                     |
  | `ratingQuestion`     | [RatingQuestion](#ratingquestion)         | A respondent can choose a rating from a pre-defined set of icons.                                                                                   |
</div>

## Grading

Grading for a single question.

<div className="reference-table">
  | Field                                                                  | Type                              | Description                                                                                                                                                                                                                                                                                                                                              |
  | ---------------------------------------------------------------------- | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `pointValue` <span className="required" title="required">\*</span>     | `integer`                         | Required. The maximum number of points a respondent can automatically get for a correct answer. This must not be negative. <span className="field-constraints">≥ 0</span>                                                                                                                                                                                |
  | `correctAnswers` <span className="required" title="required">\*</span> | [CorrectAnswers](#correctanswers) | Required. The answer key for the question. Responses are automatically graded based on this field.                                                                                                                                                                                                                                                       |
  | `whenRight`                                                            | [Feedback](#feedback)             | The feedback displayed for correct responses. This feedback can only be set for multiple choice questions that have correct answers provided.                                                                                                                                                                                                            |
  | `whenWrong`                                                            | [Feedback](#feedback)             | The feedback displayed for incorrect responses. This feedback can only be set for multiple choice questions that have correct answers provided.                                                                                                                                                                                                          |
  | `generalFeedback`                                                      | [Feedback](#feedback)             | The feedback displayed for all answers. This is commonly used for short answer questions when a quiz owner wants to quickly give respondents some sense of whether they answered the question correctly before they've had a chance to officially grade the response. General feedback cannot be set for automatically graded multiple choice questions. |
</div>

## CorrectAnswers

The answer key for a question.

<div className="reference-table">
  | Field     | Type                               | Description                                                                                                                                                                                                                                                                                                                                                                     |
  | --------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `answers` | [CorrectAnswer](#correctanswer)\[] | A list of correct answers. A quiz response can be automatically graded based on these answers. For single-valued questions, a response is marked correct if it matches any value in this list (in other words, multiple correct answers are possible). For multiple-valued (`CHECKBOX`) questions, a response is marked correct if it contains exactly the values in this list. |
</div>

## CorrectAnswer

A single correct answer for a question.

<div className="reference-table">
  | Field                                                         | Type     | Description                                                                                                                            |
  | ------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------- |
  | `value` <span className="required" title="required">\*</span> | `string` | Required. The correct answer value. See the documentation for `TextAnswer.value` for details on how various value types are formatted. |
</div>

## Feedback

Feedback for a respondent about their response to a question.

<div className="reference-table">
  | Field                                                        | Type                               | Description                                                                                                                |
  | ------------------------------------------------------------ | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
  | `text` <span className="required" title="required">\*</span> | `string`                           | Required. The main text of the feedback.                                                                                   |
  | `material`                                                   | [ExtraMaterial](#extramaterial)\[] | Additional information provided as part of the feedback, often used to point the respondent to more reading and resources. |
</div>

## ExtraMaterial

Supplementary material to the feedback.

<div className="reference-table">
  | Field   | Type                    | Description     |
  | ------- | ----------------------- | --------------- |
  | `link`  | [TextLink](#textlink)   | Text feedback.  |
  | `video` | [VideoLink](#videolink) | Video feedback. |
</div>

## TextLink

Link for text.

<div className="reference-table">
  | Field                                                               | Type     | Description                         |
  | ------------------------------------------------------------------- | -------- | ----------------------------------- |
  | `uri` <span className="required" title="required">\*</span>         | `string` | Required. The URI.                  |
  | `displayText` <span className="required" title="required">\*</span> | `string` | Required. Display text for the URI. |
</div>

## VideoLink

Link to a video.

<div className="reference-table">
  | Field                                                               | Type     | Description                              |
  | ------------------------------------------------------------------- | -------- | ---------------------------------------- |
  | `displayText` <span className="required" title="required">\*</span> | `string` | Required. The display text for the link. |
  | `youtubeUri`                                                        | `string` | The URI of a YouTube video.              |
</div>

## ChoiceQuestion

A radio/checkbox/dropdown question.

<div className="reference-table">
  | Field                                                           | Type                      | Description                                                                                                                                                                                                                                                                                                       |
  | --------------------------------------------------------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `type` <span className="required" title="required">\*</span>    | [ChoiceType](#choicetype) | Required. The type of choice question.                                                                                                                                                                                                                                                                            |
  | `options` <span className="required" title="required">\*</span> | [Option](#option)\[]      | Required. List of options that a respondent must choose from.                                                                                                                                                                                                                                                     |
  | `shuffle`                                                       | `boolean`                 | Whether the options should be displayed in random order for different instances of the quiz. This is often used to prevent cheating by respondents who might be looking at another respondent's screen, or to address bias in a survey that might be introduced by always putting the same options first or last. |
</div>

## Option

An option for a Choice question.

<div className="reference-table">
  | Field                                                         | Type                      | Description                                                                                                                                                                          |
  | ------------------------------------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | `value` <span className="required" title="required">\*</span> | `string`                  | Required. The choice as presented to the user.                                                                                                                                       |
  | `image`                                                       | [Image](#image)           | Display image as an option.                                                                                                                                                          |
  | `isOther`                                                     | `boolean`                 | Whether the option is "other". Currently only applies to `RADIO` and `CHECKBOX` choice types, but is not allowed in a `QuestionGroupItem`.                                           |
  | `goToAction`                                                  | [GoToAction](#gotoaction) | Section navigation type. Which section to go to if this option is selected. Currently only applies to `RADIO` and `SELECT` choice type, but is not allowed in a `QuestionGroupItem`. |
  | `goToSectionId`                                               | `string`                  | Item ID of section header to go to.                                                                                                                                                  |
</div>

## Image

Data representing an image.

<div className="reference-table">
  | Field        | Type                                                                                                            | Description                                                                                                                                                                    |
  | ------------ | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | `altText`    | `string`                                                                                                        | A description of the image that is shown on hover and read by screenreaders.                                                                                                   |
  | `properties` | [MediaProperties](#mediaproperties)                                                                             | Properties of an image.                                                                                                                                                        |
  | `sourceUri`  | `string`<br /><span className="markers"><span className="marker" data-marker="mode">request\_only</span></span> | Input only. The source URI is the URI used to insert the image. The source URI can be empty when fetched. Exactly one image source field must be set when creating new images. |
</div>

## MediaProperties

Properties of the media.

<div className="reference-table">
  | Field       | Type                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | ----------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `alignment` | [Alignment](#alignment) | Position of the media.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  | `width`     | `integer`               | The width of the media in pixels. When the media is displayed, it is scaled to the smaller of this value or the width of the displayed form. The original aspect ratio of the media is preserved. If a width is not specified when the media is added to the form, it is set to the width of the media source. Width must be between 0 and 740, inclusive. Setting width to 0 or unspecified is only permitted when updating the media source. <span className="field-constraints">≥ 0; ≤ 740</span> |
</div>

## TextQuestion

A text-based question.

<div className="reference-table">
  | Field       | Type      | Description                                                                                         |
  | ----------- | --------- | --------------------------------------------------------------------------------------------------- |
  | `paragraph` | `boolean` | Whether the question is a paragraph question or not. If not, the question is a short text question. |
</div>

## ScaleQuestion

A scale question. The user has a range of numeric values to choose from.

<div className="reference-table">
  | Field                                                        | Type      | Description                                                     |
  | ------------------------------------------------------------ | --------- | --------------------------------------------------------------- |
  | `low` <span className="required" title="required">\*</span>  | `integer` | Required. The lowest possible value for the scale.              |
  | `high` <span className="required" title="required">\*</span> | `integer` | Required. The highest possible value for the scale.             |
  | `lowLabel`                                                   | `string`  | The label to display describing the lowest point on the scale.  |
  | `highLabel`                                                  | `string`  | The label to display describing the highest point on the scale. |
</div>

## DateQuestion

A date question. Date questions default to just month + day.

<div className="reference-table">
  | Field         | Type      | Description                                          |
  | ------------- | --------- | ---------------------------------------------------- |
  | `includeTime` | `boolean` | Whether to include the time as part of the question. |
  | `includeYear` | `boolean` | Whether to include the year as part of the question. |
</div>

## TimeQuestion

A time question.

<div className="reference-table">
  | Field      | Type      | Description                                                                           |
  | ---------- | --------- | ------------------------------------------------------------------------------------- |
  | `duration` | `boolean` | `true` if the question is about an elapsed time. Otherwise it is about a time of day. |
</div>

## FileUploadQuestion

A file upload question.

<div className="reference-table">
  | Field                                                            | Type                     | Description                                                                                                                  |
  | ---------------------------------------------------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
  | `folderId` <span className="required" title="required">\*</span> | `string`                 | Required. The ID of the Drive folder where uploaded files are stored.                                                        |
  | `types`                                                          | [FileType](#filetype)\[] | File types accepted by this question.                                                                                        |
  | `maxFiles`                                                       | `integer`                | Maximum number of files that can be uploaded for this question in a single response.                                         |
  | `maxFileSize`                                                    | `string`                 | Maximum number of bytes allowed for any single file uploaded to this question. An int64, which this API carries as a string. |
</div>

## RowQuestion

Configuration for a question that is part of a question group.

<div className="reference-table">
  | Field                                                         | Type     | Description                                                        |
  | ------------------------------------------------------------- | -------- | ------------------------------------------------------------------ |
  | `title` <span className="required" title="required">\*</span> | `string` | Required. The title for the single row in the `QuestionGroupItem`. |
</div>

## RatingQuestion

A rating question. The user has a range of icons to choose from.

<div className="reference-table">
  | Field                                                                    | Type                              | Description                                              |
  | ------------------------------------------------------------------------ | --------------------------------- | -------------------------------------------------------- |
  | `ratingScaleLevel` <span className="required" title="required">\*</span> | `integer`                         | Required. The rating scale level of the rating question. |
  | `iconType` <span className="required" title="required">\*</span>         | [RatingIconType](#ratingicontype) | Required. The icon type to use for the rating.           |
</div>

## QuestionGroupItem

Defines a question that comprises multiple questions grouped together.

<div className="reference-table">
  | Field                                                             | Type                     | Description                                                                                                                                                                         |
  | ----------------------------------------------------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `questions` <span className="required" title="required">\*</span> | [Question](#question)\[] | Required. A list of questions that belong in this question group. A question must only belong to one group. The `kind` of the group may affect what types of questions are allowed. |
  | `image`                                                           | [Image](#image)          | The image displayed within the question group above the specific questions.                                                                                                         |
  | `grid`                                                            | [Grid](#grid)            | The question group is a grid with rows of multiple choice questions that share the same options. When `grid` is set, all questions in the group must be of kind `row`.              |
</div>

## Grid

A grid of choices (radio or check boxes) with each row constituting a separate question. Each row has the same choices, which are shown as the columns.

<div className="reference-table">
  | Field                                                           | Type                              | Description                                                                                                                                             |
  | --------------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `columns` <span className="required" title="required">\*</span> | [ChoiceQuestion](#choicequestion) | Required. The choices shared by each question in the grid. In other words, the values of the columns. Only `CHECK_BOX` and `RADIO` choices are allowed. |
  | `shuffleQuestions`                                              | `boolean`                         | If `true`, the questions are randomly ordered. In other words, the rows appear in a different order for every respondent.                               |
</div>

## PageBreakItem

A page break. The title and description of this item are shown at the top of the new page.

This object has no settable fields.

## TextItem

A text item.

This object has no settable fields.

## ImageItem

An item containing an image.

<div className="reference-table">
  | Field                                                         | Type            | Description                                |
  | ------------------------------------------------------------- | --------------- | ------------------------------------------ |
  | `image` <span className="required" title="required">\*</span> | [Image](#image) | Required. The image displayed in the item. |
</div>

## VideoItem

An item containing a video.

<div className="reference-table">
  | Field                                                         | Type            | Description                                |
  | ------------------------------------------------------------- | --------------- | ------------------------------------------ |
  | `video` <span className="required" title="required">\*</span> | [Video](#video) | Required. The video displayed in the item. |
  | `caption`                                                     | `string`        | The text displayed below the video.        |
</div>

## Video

Data representing a video.

<div className="reference-table">
  | Field                                                              | Type                                | Description              |
  | ------------------------------------------------------------------ | ----------------------------------- | ------------------------ |
  | `youtubeUri` <span className="required" title="required">\*</span> | `string`                            | Required. A YouTube URI. |
  | `properties`                                                       | [MediaProperties](#mediaproperties) | Properties of a video.   |
</div>

## Location

A specific location in a form.

<div className="reference-table">
  | Field   | Type      | Description                                                                                                                                                      |
  | ------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `index` | `integer` | The index of an item in the form. This must be in the range `[0..N)`, where N is the number of items in the form. <span className="field-constraints">≥ 0</span> |
</div>

## MoveItemRequest

Move an item in a form.

<div className="reference-table">
  | Field                                                                    | Type                  | Description                                 |
  | ------------------------------------------------------------------------ | --------------------- | ------------------------------------------- |
  | `originalLocation` <span className="required" title="required">\*</span> | [Location](#location) | Required. The location of the item to move. |
  | `newLocation` <span className="required" title="required">\*</span>      | [Location](#location) | Required. The new location for the item.    |
</div>

## DeleteItemRequest

Delete an item in a form.

<div className="reference-table">
  | Field                                                            | Type                  | Description                                   |
  | ---------------------------------------------------------------- | --------------------- | --------------------------------------------- |
  | `location` <span className="required" title="required">\*</span> | [Location](#location) | Required. The location of the item to delete. |
</div>

## UpdateItemRequest

Update an item in a form.

<div className="reference-table">
  | Field                                                              | Type                                                                                                                              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                 |
  | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `item` <span className="required" title="required">\*</span>       | [Item](#item)                                                                                                                     | Required. New values for the item. Note that item and question IDs are used if they are provided (and are in the field mask). If an ID is blank (and in the field mask) a new ID is generated. This means you can modify an item by getting the form via `forms.get`, modifying your local copy of that item to be how you want it, and using `UpdateItemRequest` to write it back, with the IDs being the same (or not in the field mask). |
  | `location` <span className="required" title="required">\*</span>   | [Location](#location)                                                                                                             | Required. The location identifying the item to update.                                                                                                                                                                                                                                                                                                                                                                                      |
  | `updateMask` <span className="required" title="required">\*</span> | [FieldMask](#fieldmask)<br /><span className="markers"><span className="marker" data-marker="transform">field\_mask</span></span> | Field mask paths                                                                                                                                                                                                                                                                                                                                                                                                                            |
</div>

## WriteControl

Provides control over how write requests are executed.

<div className="reference-table">
  | Field                | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | -------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `requiredRevisionId` | `string` | The revision ID of the form that the write request is applied to. If this is not the latest revision of the form, the request is not processed and returns a 400 bad request error.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | `targetRevisionId`   | `string` | The target revision ID of the form that the write request is applied to. If changes have occurred after this revision, the changes in this update request are transformed against those changes. This results in a new revision of the form that incorporates both the changes in the request and the intervening changes, with the server resolving conflicting changes. The target revision ID may only be used to write to recent versions of a form. If the target revision is too far behind the latest revision, the request is not processed and returns a 400 (Bad Request Error). The request may be retried after reading the latest version of the form. In most cases a target revision ID remains valid for several minutes after it is read, but for frequently-edited forms this window may be shorter. |
</div>

## SetPublishSettingsBody

The body of a set-publish-settings request.

<div className="reference-table">
  | Field                                                                   | Type                                                                                                                              | Description                                                  |
  | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
  | `publishSettings` <span className="required" title="required">\*</span> | [PublishSettings](#publishsettings)                                                                                               | Required. The desired publish settings to apply to the form. |
  | `updateMask`                                                            | [FieldMask](#fieldmask)<br /><span className="markers"><span className="marker" data-marker="transform">field\_mask</span></span> | Field mask paths                                             |
</div>

## PublishSettings

The publishing settings of a form.

<div className="reference-table">
  | Field          | Type                          | Description                                                                                                                                                                                                                                             |
  | -------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `publishState` | [PublishState](#publishstate) | Optional. The publishing state of a form. When updating `publishState`, both `isPublished` and `isAcceptingResponses` must be set. However, setting `isAcceptingResponses` to `true` and `isPublished` to `false` isn't supported and returns an error. |
</div>

## PublishState

The publishing state of a form.

<div className="reference-table">
  | Field                                                                        | Type      | Description                                                                                                        |
  | ---------------------------------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------ |
  | `isPublished` <span className="required" title="required">\*</span>          | `boolean` | Required. Whether the form is published and visible to others.                                                     |
  | `isAcceptingResponses` <span className="required" title="required">\*</span> | `boolean` | Required. Whether the form accepts responses. If `isPublished` is set to `false`, this field is forced to `false`. |
</div>

## Alignment

<div className="enum-table">
  | Value                   |
  | ----------------------- |
  | `ALIGNMENT_UNSPECIFIED` |
  | `LEFT`                  |
  | `RIGHT`                 |
  | `CENTER`                |
</div>

## ChoiceType

<div className="enum-table">
  | Value                     |
  | ------------------------- |
  | `CHOICE_TYPE_UNSPECIFIED` |
  | `RADIO`                   |
  | `CHECKBOX`                |
  | `DROP_DOWN`               |
</div>

## EmailCollectionType

<div className="enum-table">
  | Value                               |
  | ----------------------------------- |
  | `EMAIL_COLLECTION_TYPE_UNSPECIFIED` |
  | `DO_NOT_COLLECT`                    |
  | `VERIFIED`                          |
  | `RESPONDER_INPUT`                   |
</div>

## FileType

<div className="enum-table">
  | Value                   |
  | ----------------------- |
  | `FILE_TYPE_UNSPECIFIED` |
  | `ANY`                   |
  | `DOCUMENT`              |
  | `PRESENTATION`          |
  | `SPREADSHEET`           |
  | `DRAWING`               |
  | `PDF`                   |
  | `IMAGE`                 |
  | `VIDEO`                 |
  | `AUDIO`                 |
</div>

## GoToAction

<div className="enum-table">
  | Value                      |
  | -------------------------- |
  | `GO_TO_ACTION_UNSPECIFIED` |
  | `NEXT_SECTION`             |
  | `RESTART_FORM`             |
  | `SUBMIT_FORM`              |
</div>

## RatingIconType

<div className="enum-table">
  | Value                          |
  | ------------------------------ |
  | `RATING_ICON_TYPE_UNSPECIFIED` |
  | `STAR`                         |
  | `HEART`                        |
  | `THUMB_UP`                     |
</div>
