# REST Resource: forms.responses

- [Resource: FormResponse](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#FormResponse)
  - [JSON representation](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#FormResponse.SCHEMA_REPRESENTATION)
- [Answer](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#Answer)
  - [JSON representation](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#Answer.SCHEMA_REPRESENTATION)
- [TextAnswers](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#TextAnswers)
  - [JSON representation](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#TextAnswers.SCHEMA_REPRESENTATION)
- [TextAnswer](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#TextAnswer)
  - [JSON representation](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#TextAnswer.SCHEMA_REPRESENTATION)
- [FileUploadAnswers](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#FileUploadAnswers)
  - [JSON representation](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#FileUploadAnswers.SCHEMA_REPRESENTATION)
- [FileUploadAnswer](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#FileUploadAnswer)
  - [JSON representation](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#FileUploadAnswer.SCHEMA_REPRESENTATION)
- [Grade](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#Grade)
  - [JSON representation](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#Grade.SCHEMA_REPRESENTATION)
- [Methods](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#METHODS_SUMMARY)

## Resource: FormResponse

A form response.

| JSON representation |
|---|
| ``` { "formId": string, "responseId": string, "createTime": string, "lastSubmittedTime": string, "respondentEmail": string, "answers": { string: { object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#Answer`) }, ... }, "totalScore": number } ``` |

| Fields ||
|---|---|
| `formId` | `string` Output only. The form ID. |
| `responseId` | `string` Output only. The response ID. |
| `createTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Output only. Timestamp for the first time the response was submitted. Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| `lastSubmittedTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Output only. Timestamp for the most recent time the response was submitted. Does not track changes to grades. Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| `respondentEmail` | `string` Output only. The email address (if collected) for the respondent. |
| `answers` | ``map (key: string, value: object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#Answer`))`` Output only. The actual answers to the questions, keyed by questionId. An object containing a list of `"key": value` pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. |
| `totalScore` | `number` Output only. The total number of points the respondent received for their submission Only set if the form was a quiz and the response was graded. This includes points automatically awarded via autograding adjusted by any manual corrections entered by the form owner. |

## Answer

The submitted answer for a question.

| JSON representation |
|---|
| ``` { "questionId": string, "grade": { object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#Grade`) }, "textAnswers": { object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#TextAnswers`) }, "fileUploadAnswers": { object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#FileUploadAnswers`) } } ``` |

| Fields ||
|---|---|
| `questionId` | `string` Output only. The question's ID. See also `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms#Question.FIELDS.question_id`. |
| `grade` | ``object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#Grade`)`` Output only. The grade for the answer if the form was a quiz. |
| Union field `value`. The user's answer. `value` can be only one of the following: ||
| `textAnswers` | ``object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#TextAnswers`)`` Output only. The specific answers as text. |
| `fileUploadAnswers` | ``object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#FileUploadAnswers`)`` Output only. The answers to a file upload question. |

## TextAnswers

A question's answers as text.

| JSON representation |
|---|
| ``` { "answers": [ { object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#TextAnswer`) } ] } ``` |

| Fields ||
|---|---|
| `answers[]` | ``object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#TextAnswer`)`` Output only. Answers to a question. For multiple-value `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms#ChoiceQuestion`s, each answer is a separate value. |

## TextAnswer

An answer to a question represented as text.

| JSON representation |
|---|
| ``` { "value": string } ``` |

| Fields ||
|---|---|
| `value` | `string` Output only. The answer value. Formatting used for different kinds of question: - `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms#ChoiceQuestion` - `RADIO` or `DROP_DOWN`: A single string corresponding to the option that was selected. - `CHECKBOX`: Multiple strings corresponding to each option that was selected. - `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms#TextQuestion`: The text that the user entered. - `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms#ScaleQuestion`: A string containing the number that was selected. - `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms#DateQuestion` - Without time or year: MM-DD e.g. "05-19" - With year: YYYY-MM-DD e.g. "1986-05-19" - With time: MM-DD HH:MM e.g. "05-19 14:51" - With year and time: YYYY-MM-DD HH:MM e.g. "1986-05-19 14:51" - `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms#TimeQuestion`: String with time or duration in HH:MM format e.g. "14:51" - `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms#RowQuestion` within `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms#QuestionGroupItem`: The answer for each row of a `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms#QuestionGroupItem` is represented as a separate `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#Answer`. Each will contain one string for `RADIO`-type choices or multiple strings for `CHECKBOX` choices. |

## FileUploadAnswers

All submitted files for a FileUpload question.

| JSON representation |
|---|
| ``` { "answers": [ { object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#FileUploadAnswer`) } ] } ``` |

| Fields ||
|---|---|
| `answers[]` | ``object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses#FileUploadAnswer`)`` Output only. All submitted files for a FileUpload question. |

## FileUploadAnswer

Info for a single file submitted to a file upload question.

| JSON representation |
|---|
| ``` { "fileId": string, "fileName": string, "mimeType": string } ``` |

| Fields ||
|---|---|
| `fileId` | `string` Output only. The ID of the Google Drive file. |
| `fileName` | `string` Output only. The file name, as stored in Google Drive on upload. |
| `mimeType` | `string` Output only. The MIME type of the file, as stored in Google Drive on upload. |

## Grade

Grade information associated with a respondent's answer to a question.

| JSON representation |
|---|
| ``` { "score": number, "correct": boolean, "feedback": { object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/Feedback`) } } ``` |

| Fields ||
|---|---|
| `score` | `number` Output only. The numeric score awarded for the answer. |
| `correct` | `boolean` Output only. Whether the question was answered correctly or not. A zero-point score is not enough to infer incorrectness, since a correctly answered question could be worth zero points. |
| `feedback` | ``object (`https://developers.google.com/workspace/forms/api/reference/rest/v1/Feedback`)`` Output only. Additional feedback given for an answer. |

| ## Methods ||
|---|---|
| ### `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses/get` | Get one response from the form. |
| ### `https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses/list` | List a form's responses. |