# Google Forms Routing Reference **App name:** `google-forms` **Base URL proxied:** `forms.googleapis.com` ## API Path Pattern ``` /google-forms/v1/forms/{formId} ``` ## Common Endpoints ### Get Form ```bash GET /google-forms/v1/forms/{formId} ``` ### Create Form ```bash POST /google-forms/v1/forms Content-Type: application/json { "info": { "title": "Customer Feedback Survey" } } ``` ### Batch Update Form ```bash POST /google-forms/v1/forms/{formId}:batchUpdate Content-Type: application/json { "requests": [ { "createItem": { "item": { "title": "What is your name?", "questionItem": { "question": { "required": true, "textQuestion": { "paragraph": false } } } }, "location": {"index": 0} } } ] } ``` ### List Responses ```bash GET /google-forms/v1/forms/{formId}/responses ``` ### Get Response ```bash GET /google-forms/v1/forms/{formId}/responses/{responseId} ``` ## Common Requests for batchUpdate ### Create Text Question ```json { "createItem": { "item": { "title": "Question text", "questionItem": { "question": { "required": true, "textQuestion": {"paragraph": false} } } }, "location": {"index": 0} } } ``` ### Create Multiple Choice Question ```json { "createItem": { "item": { "title": "Select an option", "questionItem": { "question": { "required": true, "choiceQuestion": { "type": "RADIO", "options": [ {"value": "Option A"}, {"value": "Option B"}, {"value": "Option C"} ] } } } }, "location": {"index": 0} } } ``` ### Create Checkbox Question ```json { "createItem": { "item": { "title": "Select all that apply", "questionItem": { "question": { "choiceQuestion": { "type": "CHECKBOX", "options": [ {"value": "Option 1"}, {"value": "Option 2"} ] } } } }, "location": {"index": 0} } } ``` ### Create Scale Question ```json { "createItem": { "item": { "title": "Rate your experience", "questionItem": { "question": { "scaleQuestion": { "low": 1, "high": 5, "lowLabel": "Poor", "highLabel": "Excellent" } } } }, "location": {"index": 0} } } ``` ### Update Form Info ```json { "updateFormInfo": { "info": { "title": "New Form Title", "description": "Form description" }, "updateMask": "title,description" } } ``` ### Delete Item ```json { "deleteItem": { "location": {"index": 0} } } ``` ## Question Types - `textQuestion` - Short or paragraph text - `choiceQuestion` - Radio, checkbox, or dropdown - `scaleQuestion` - Linear scale - `dateQuestion` - Date picker - `timeQuestion` - Time picker - `fileUploadQuestion` - File upload ## Notes - Authentication is automatic - the router injects the OAuth token - Form IDs can be found in the form URL - Responses include `answers` keyed by question ID - Use `updateMask` to specify which fields to update - Location index is 0-based for item positioning ## Resources - [API Overview](https://developers.google.com/workspace/forms/api/reference/rest) - [Get Form](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms/get) - [Create Form](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms/create) - [Batch Update Form](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms/batchUpdate) - [Batch Update Request Types](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms/batchUpdate#request) - [List Responses](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses/list) - [Get Response](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses/get) - [Form Resource](https://developers.google.com/workspace/forms/api/reference/rest/v1/forms)