api reference · v1

Every Forms method, from the index.

All 10 methods of the Forms API, rendered at build time from the committed Discovery index the grr binary embeds — the same data grr api describe reads at runtime. Flags are kebab-cased parameter names: userId is --user-id.

10 methods · v1 · revision 20260922

forms.forms

4 methods

forms.forms.batchUpdate

POST

grr forms forms batchUpdate v1/forms/{formId}:batchUpdate

Change the form with a batch of updates.

Parameter Type Required Repeated Location Description Enum values
formId string yes — path Required. The form ID. —

https://www.googleapis.com/auth/forms.body least privilege

3 scopes
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/forms.body

grr forms forms batchUpdate
grr forms forms batchUpdate --form-id <form-id> --body-file ./body.json

forms.forms.create

POST

grr forms forms create v1/forms

Create a new form using the title given in the provided form message in the request. *Important:* Only the form.info.title and form.info.document_title fields are copied to the new form. All other fields including the form description, items and settings are disallowed. To create a new form and add

Parameter Type Required Repeated Location Description Enum values
unpublished boolean — — query Optional. Whether the form is unpublished. If set to `true`, the form doesn't accept responses. If set to `false` or unset, the form is published and accepts re —

https://www.googleapis.com/auth/forms.body least privilege

3 scopes
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/forms.body

grr forms forms create
grr forms forms create --body-file ./body.json

forms.forms.get

GET

grr forms forms get v1/forms/{formId}

Get a form.

Parameter Type Required Repeated Location Description Enum values
formId string yes — path Required. The form ID. —

https://www.googleapis.com/auth/forms.body.readonly least privilege

5 scopes
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/forms.body
  • https://www.googleapis.com/auth/forms.body.readonly

grr forms forms get
grr forms forms get --form-id <form-id>

forms.forms.setPublishSettings

POST

grr forms forms setPublishSettings v1/forms/{formId}:setPublishSettings

Updates the publish settings of a form. Legacy forms aren't supported because they don't have the `publish_settings` field.

Parameter Type Required Repeated Location Description Enum values
formId string yes — path Required. The ID of the form. You can get the id from Form.form_id field. —

https://www.googleapis.com/auth/forms.body least privilege

3 scopes
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/forms.body

grr forms forms setPublishSettings
grr forms forms setPublishSettings --form-id <form-id> --body-file ./body.json

forms.forms.responses

2 methods

forms.forms.responses.get

GET

grr forms forms responses get v1/forms/{formId}/responses/{responseId}

Get one response from the form.

Parameter Type Required Repeated Location Description Enum values
formId string yes — path Required. The form ID. —
responseId string yes — path Required. The response ID within the form. —

https://www.googleapis.com/auth/forms.responses.readonly least privilege

3 scopes
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/forms.responses.readonly

grr forms forms responses get
grr forms forms responses get --form-id <form-id> --response-id <response-id>

forms.forms.responses.list

GET

grr forms forms responses list v1/forms/{formId}/responses

List a form's responses.

Parameter Type Required Repeated Location Description Enum values
filter string — — query Which form responses to return. Currently, the only supported filters are: * timestamp > *N* which means to get all form responses submitted after (but not at) —
formId string yes — path Required. ID of the Form whose responses to list. —
pageSize integer — — query The maximum number of responses to return. The service may return fewer than this value. If unspecified or zero, at most 5000 responses are returned. —
pageToken string — — query A page token returned by a previous list response. If this field is set, the form and the values of the filter must be the same as for the original request. —

https://www.googleapis.com/auth/forms.responses.readonly least privilege

3 scopes
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/forms.responses.readonly

grr forms forms responses list
grr forms forms responses list --form-id <form-id>

forms.forms.watches

4 methods

forms.forms.watches.create

POST

grr forms forms watches create v1/forms/{formId}/watches

Create a new watch. If a watch ID is provided, it must be unused. For each invoking project, the per form limit is one watch per Watch.EventType. A watch expires seven days after it is created (see Watch.expire_time).

Parameter Type Required Repeated Location Description Enum values
formId string yes — path Required. ID of the Form to watch. —

https://www.googleapis.com/auth/forms.responses.readonly least privilege

6 scopes
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/forms.body
  • https://www.googleapis.com/auth/forms.body.readonly
  • https://www.googleapis.com/auth/forms.responses.readonly

grr forms forms watches create
grr forms forms watches create --form-id <form-id> --body-file ./body.json

forms.forms.watches.delete

DELETE

grr forms forms watches delete v1/forms/{formId}/watches/{watchId}

Delete a watch.

Parameter Type Required Repeated Location Description Enum values
formId string yes — path Required. The ID of the Form. —
watchId string yes — path Required. The ID of the Watch to delete. —

https://www.googleapis.com/auth/forms.responses.readonly least privilege

6 scopes
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/forms.body
  • https://www.googleapis.com/auth/forms.body.readonly
  • https://www.googleapis.com/auth/forms.responses.readonly

grr forms forms watches delete
grr forms forms watches delete --form-id <form-id> --watch-id <watch-id>

forms.forms.watches.list

GET

grr forms forms watches list v1/forms/{formId}/watches

Return a list of the watches owned by the invoking project. The maximum number of watches is two: For each invoker, the limit is one for each event type per form.

Parameter Type Required Repeated Location Description Enum values
formId string yes — path Required. ID of the Form whose watches to list. —

https://www.googleapis.com/auth/forms.responses.readonly least privilege

6 scopes
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/forms.body
  • https://www.googleapis.com/auth/forms.body.readonly
  • https://www.googleapis.com/auth/forms.responses.readonly

grr forms forms watches list
grr forms forms watches list --form-id <form-id>

forms.forms.watches.renew

POST

grr forms forms watches renew v1/forms/{formId}/watches/{watchId}:renew

Renew an existing watch for seven days. The state of the watch after renewal is `ACTIVE`, and the `expire_time` is seven days from the renewal. Renewing a watch in an error state (e.g. `SUSPENDED`) succeeds if the error is no longer present, but fail otherwise. After a watch has expired, RenewWatch

Parameter Type Required Repeated Location Description Enum values
formId string yes — path Required. The ID of the Form. —
watchId string yes — path Required. The ID of the Watch to renew. —

https://www.googleapis.com/auth/forms.responses.readonly least privilege

6 scopes
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/forms.body
  • https://www.googleapis.com/auth/forms.body.readonly
  • https://www.googleapis.com/auth/forms.responses.readonly

grr forms forms watches renew
grr forms forms watches renew --form-id <form-id> --watch-id <watch-id> --body-file ./body.json