---
title: "POST /v1/documents/{documentId}:batchUpdate"
method: POST
path: "/v1/documents/{documentId}:batchUpdate"
tags: ["documents"]
---

# POST /v1/documents/{documentId}:batchUpdate

`POST /v1/documents/{documentId}:batchUpdate`

## Request

- Base URL: `https://docs.googleapis.com`
- URL: `https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate`
- Auth: one of:
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/documents`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/documents`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/drive`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/drive`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/drive.file`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/drive.file`

Applies one or more updates to the document. Each request is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests. For example, suppose you call batchUpdate with four updates, and only the third one returns information. The response would have two empty replies, the reply to the third request, and another empty reply, in that order. Because other users may be editing the document, the document might not exactly reflect your changes: your changes may be altered with respect to collaborator changes. If there are no collaborators, the document should reflect your changes. In any case, the updates in your request are guaranteed to be applied together atomically.

## Path parameters

- `documentId` string, required

## Request body

- BatchUpdateDocumentRequest: Request message for BatchUpdateDocument.
  - `requests` Request[]: A list of updates to apply to the document.
    - `acceptSuggestion` AcceptSuggestionRequest: Accepts a suggestion. Returns a 403 forbidden error if the requesting user does not have edit access to the document.
      - `suggestionId` string: The ID of the suggestion.
    - `addCommentReply` AddCommentReplyRequest: Inserts a reply Post into a CommentThread or SuggestionThread.
      - `commentId` string: The ID of the CommentThread to add the reply to.
      - `post` Post: Represents a single post in a comment or suggestion thread.
        - `assigneeEmail` string: Optional. The email of the user who is being newly assigned to the thread as part of this post. Returns a 400 bad request error if: - The parent thread is a CommentThread whose headPost does not have an assignee. - The parent thread is a SuggestionThread. - commentAction is specified as `RESOLVE` or `REOPEN`. - `assigneeEmail` exceeds 2048 UTF-8 code units.
        - `author` PostAuthor: Represents a user who authored a comment or suggestion post.
          - `anonymous` boolean: Whether the user is anonymous.
          - `displayName` string: The display name of the user. May be absent if the author is anonymous.
          - `me` boolean: Whether the user is the authenticated user making the request.
          - `user` string: The resource name of the post author user, which can also be used to identify the user in the [Google People API](https://developers.google.com/people/api/rest/v1/people). Format: `users/{user}`. Will not be populated if the anonymous field is `true` or if the post is from an imported document.
        - `commentAction` 'COMMENT_ACTION_TYPE_UNSPECIFIED' | 'NO_COMMENT_ACTION_CHANGE' | 'RESOLVE' | 'REOPEN': Optional. The action type for comment posts.
        - `content` string: The content of the post. Required to be non-empty if commentAction is not `RESOLVE` or `REOPEN`. This text content will be handled similarly to comments created in the Docs editor. It will have similar behaviors for formatting, notifications, etc. May not exceed 2048 UTF-8 code units.
        - `contentHtml` string: Output only. The content of the post as HTML.
        - `createTime` string, google-datetime: Output only. The time the post was created.
        - `deleted` boolean: Output only. Whether the post is deleted. If `true`, content and author fields will be empty.
        - `fromCopiedDocument` boolean: Output only. Whether the post is from a copied document. This field cannot be set directly by callers.
        - `fromDocumentComparison` boolean: Output only. Whether the post is from a document comparison. This field cannot be set directly by callers.
        - `fromImportedDocument` boolean: Output only. Whether the post is from an imported document. This field cannot be set directly by callers.
        - `postId` string: Output only. The unique ID of the post.
        - `suggestionAction` 'SUGGESTION_ACTION_TYPE_UNSPECIFIED' | 'NO_SUGGESTION_ACTION_CHANGE' | 'ACCEPT' | 'REJECT': Output only. The action type for suggestion posts.
        - `updateTime` string, google-datetime: Output only. The time the post was last updated.
      - `suggestionId` string: The ID of the SuggestionThread to add the reply to.
    - `addDocumentTab` AddDocumentTabRequest: Adds a document tab. When a tab is added at a given index, all subsequent tabs' indexes are incremented.
      - `tabProperties` TabProperties: Properties of a tab.
        - `iconEmoji` string: Optional. The emoji icon displayed with the tab. A valid emoji icon is represented by a non-empty Unicode string. Any set of characters that don't represent a single emoji is invalid. If an emoji is invalid, a 400 bad request error is returned. If this value is unset or empty, the tab will display the default tab icon.
        - `index` integer: The zero-based index of the tab within the parent.
        - `nestingLevel` integer: Output only. The depth of the tab within the document. Root-level tabs start at 0.
        - `parentTabId` string: Optional. The ID of the parent tab. Empty when the current tab is a root-level tab, which means it doesn't have any parents.
        - `tabId` string: The immutable ID of the tab.
        - `title` string: The user-visible name of the tab.
    - `createDropdownDefinition` CreateDropdownDefinitionRequest: Creates a new DropdownDefinition in the document.
      - `dropdownDefinition` DropdownDefinition: A dropdown definition in the document.
        - `dropdownDefinitionId` string: The ID of this dropdown definition. If you specify an ID, it must be unique among all IDs in the tab. The ID must start with `kix.` and match regex `^kix\.[a-zA-Z0-9_-]{2,14}$` (length 6-18 chars). If you don't specify an ID, a unique one is generated.
        - `dropdownDefinitionProperties` DropdownDefinitionProperties: Properties of a dropdown definition.
          - `options` DropdownOption[]: The list of options defined by this dropdown definition. A dropdown definition must have at least 2 options and at most 50 options.
            - `displayValue` string: The display value of this dropdown option.
            - `optionId` string: The ID of this dropdown option. If you specify an ID, it must be unique among all options in this dropdown definition. The ID must start with `dropdownItem.` and match regex `^dropdownItem\.[a-zA-Z0-9_-]{2,14}$` (length 15-27 chars). If you don't specify an ID, a unique one is generated.
            - `textStyle` TextStyle: Represents the styling that can be applied to text. Inherited text styles are represented as unset fields in this message. A text style's parent depends on where the text style is defined: * The TextStyle of text in a Paragraph inherits from the paragraph's corresponding named style type. * The TextStyle on a named style inherits from the normal text named style. * The TextStyle of the normal text named style inherits from the default text style in the Docs editor. * The TextStyle on a Paragraph element that's contained in a table may inherit its text style from the table style. If the text style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.
              - …
          - `title` string: The title of the dropdown definition.
        - `suggestedDeletionId` string: ID for suggestion that deletes this dropdown definition.
        - `suggestedDropdownDefinitionPropertiesChanges` object: Suggested property changes to this definition, keyed by suggestion ID.
        - `suggestedInsertionId` string: ID for suggestion that inserts this dropdown definition.
      - `tabId` string: The ID of the tab to create the dropdown definition in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `createFooter` CreateFooterRequest: Creates a Footer. The new footer is applied to the SectionStyle at the location of the SectionBreak if specified, otherwise it is applied to the DocumentStyle. If a footer of the specified type already exists, a 400 bad request error is returned.
      - `sectionBreakLocation` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `type` 'HEADER_FOOTER_TYPE_UNSPECIFIED' | 'DEFAULT': The type of footer to create.
    - `createFootnote` CreateFootnoteRequest: Creates a Footnote segment and inserts a new FootnoteReference to it at the given location. The new Footnote segment will contain a space followed by a newline character.
      - `endOfSegmentLocation` EndOfSegmentLocation: Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `location` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `createHeader` CreateHeaderRequest: Creates a Header. The new header is applied to the SectionStyle at the location of the SectionBreak if specified, otherwise it is applied to the DocumentStyle. If a header of the specified type already exists, a 400 bad request error is returned.
      - `sectionBreakLocation` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `type` 'HEADER_FOOTER_TYPE_UNSPECIFIED' | 'DEFAULT': The type of header to create.
    - `createNamedRange` CreateNamedRangeRequest: Creates a NamedRange referencing the given range.
      - `name` string: The name of the NamedRange. Names do not need to be unique. Names must be at least 1 character and no more than 256 characters, measured in UTF-16 code units.
      - `range` Range: Specifies a contiguous range of text.
        - `endIndex` integer: The zero-based end index of this range, exclusive, in UTF-16 code units. In all current uses, an end index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `segmentId` string: The ID of the header, footer, or footnote that this range is contained in. An empty segment ID signifies the document's body.
        - `startIndex` integer: The zero-based start index of this range, in UTF-16 code units. In all current uses, a start index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `tabId` string: The tab that contains this range. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `createParagraphBullets` CreateParagraphBulletsRequest: Creates bullets for all of the paragraphs that overlap with the given range. The nesting level of each paragraph will be determined by counting leading tabs in front of each paragraph. To avoid excess space between the bullet and the corresponding paragraph, these leading tabs are removed by this request. This may change the indices of parts of the text. If the paragraph immediately before paragraphs being updated is in a list with a matching preset, the paragraphs being updated are added to that preceding list.
      - `bulletPreset` 'BULLET_GLYPH_PRESET_UNSPECIFIED' | 'BULLET_DISC_CIRCLE_SQUARE' | 'BULLET_DIAMONDX_ARROW3D_SQUARE' | 'BULLET_CHECKBOX' | 'BULLET_ARROW_DIAMOND_DISC' | 'BULLET_STAR_CIRCLE_SQUARE' | 'BULLET_ARROW3D_CIRCLE_SQUARE' | 'BULLET_LEFTTRIANGLE_DIAMOND_DISC' | 'BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE' | 'BULLET_DIAMOND_CIRCLE_SQUARE' | 'NUMBERED_DECIMAL_ALPHA_ROMAN' | 'NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS' | 'NUMBERED_DECIMAL_NESTED' | 'NUMBERED_UPPERALPHA_ALPHA_ROMAN' | 'NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL' | 'NUMBERED_ZERODECIMAL_ALPHA_ROMAN': The kinds of bullet glyphs to be used.
      - `range` Range: Specifies a contiguous range of text.
        - `endIndex` integer: The zero-based end index of this range, exclusive, in UTF-16 code units. In all current uses, an end index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `segmentId` string: The ID of the header, footer, or footnote that this range is contained in. An empty segment ID signifies the document's body.
        - `startIndex` integer: The zero-based start index of this range, in UTF-16 code units. In all current uses, a start index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `tabId` string: The tab that contains this range. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `deleteComment` DeleteCommentRequest: Deletes a CommentThread. Returns a 400 bad request error if the requesting user is not the author of the headPost.
      - `commentId` string: The ID of the CommentThread that is being deleted.
    - `deleteCommentReply` DeleteCommentReplyRequest: Deletes a reply Post from a CommentThread or SuggestionThread. Returns a 400 bad request error if: - The requesting user is not the author of the post. - The reply post contains an action. - The reply post contains an assignee.
      - `commentId` string: The ID of the CommentThread which the post belongs to.
      - `postId` string: The ID of the reply Post being deleted.
      - `suggestionId` string: The ID of the SuggestionThread which the post belongs to.
    - `deleteContentRange` DeleteContentRangeRequest: Deletes content from the document.
      - `range` Range: Specifies a contiguous range of text.
        - `endIndex` integer: The zero-based end index of this range, exclusive, in UTF-16 code units. In all current uses, an end index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `segmentId` string: The ID of the header, footer, or footnote that this range is contained in. An empty segment ID signifies the document's body.
        - `startIndex` integer: The zero-based start index of this range, in UTF-16 code units. In all current uses, a start index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `tabId` string: The tab that contains this range. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `deleteDropdownDefinition` DeleteDropdownDefinitionRequest: Deletes a DropdownDefinition. If the dropdown definition is referenced by any dropdown instances (chips) in the document, a 400 bad request error is returned.
      - `dropdownDefinitionId` string: The ID of the DropdownDefinition to delete.
      - `tabId` string: The ID of the tab that contains the dropdown definition to delete. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `deleteFooter` DeleteFooterRequest: Deletes a Footer from the document.
      - `footerId` string: The id of the footer to delete. If this footer is defined on DocumentStyle, the reference to this footer is removed, resulting in no footer of that type for the first section of the document. If this footer is defined on a SectionStyle, the reference to this footer is removed and the footer of that type is now continued from the previous section.
      - `tabId` string: The tab that contains the footer to delete. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `deleteHeader` DeleteHeaderRequest: Deletes a Header from the document.
      - `headerId` string: The id of the header to delete. If this header is defined on DocumentStyle, the reference to this header is removed, resulting in no header of that type for the first section of the document. If this header is defined on a SectionStyle, the reference to this header is removed and the header of that type is now continued from the previous section.
      - `tabId` string: The tab containing the header to delete. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `deleteNamedRange` DeleteNamedRangeRequest: Deletes a NamedRange.
      - `name` string: The name of the range(s) to delete. All named ranges with the given name will be deleted.
      - `namedRangeId` string: The ID of the named range to delete.
      - `tabsCriteria` TabsCriteria: A criteria that specifies in which tabs a request executes.
        - `tabIds` string[]: The list of tab IDs in which the request executes.
    - `deleteParagraphBullets` DeleteParagraphBulletsRequest: Deletes bullets from all of the paragraphs that overlap with the given range. The nesting level of each paragraph will be visually preserved by adding indent to the start of the corresponding paragraph.
      - `range` Range: Specifies a contiguous range of text.
        - `endIndex` integer: The zero-based end index of this range, exclusive, in UTF-16 code units. In all current uses, an end index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `segmentId` string: The ID of the header, footer, or footnote that this range is contained in. An empty segment ID signifies the document's body.
        - `startIndex` integer: The zero-based start index of this range, in UTF-16 code units. In all current uses, a start index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `tabId` string: The tab that contains this range. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `deletePositionedObject` DeletePositionedObjectRequest: Deletes a PositionedObject from the document.
      - `objectId` string: The ID of the positioned object to delete.
      - `tabId` string: The tab that the positioned object to delete is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `deleteSuggestion` DeleteSuggestionRequest: Deletes a suggestion. Returns a 403 forbidden error if the requesting user is not the author of the suggestion.
      - `suggestionId` string: The ID of the suggestion.
    - `deleteTab` DeleteTabRequest: Deletes a tab. If the tab has child tabs, they are deleted as well.
      - `tabId` string: The ID of the tab to delete.
    - `deleteTableColumn` DeleteTableColumnRequest: Deletes a column from a table.
      - `tableCellLocation` TableCellLocation: Location of a single cell within a table.
        - `columnIndex` integer: The zero-based column index. For example, the second column in the table has a column index of 1.
        - `rowIndex` integer: The zero-based row index. For example, the second row in the table has a row index of 1.
        - `tableStartLocation` Location: A particular location in the document.
          - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
          - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
          - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `deleteTableRow` DeleteTableRowRequest: Deletes a row from a table.
      - `tableCellLocation` TableCellLocation: Location of a single cell within a table.
        - `columnIndex` integer: The zero-based column index. For example, the second column in the table has a column index of 1.
        - `rowIndex` integer: The zero-based row index. For example, the second row in the table has a row index of 1.
        - `tableStartLocation` Location: A particular location in the document.
          - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
          - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
          - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `insertComment` InsertCommentRequest: Inserts a CommentThread into the document.
      - `assigneeEmailAddress` string: Optional. The email address of the assignee of the comment. Leave empty for a non-assigned comment. May not exceed 2048 UTF-8 code units.
      - `content` string: The text of the comment, as plain text. This text content will be handled similarly to comments created in the Docs editor. It will have similar behaviors for formatting, notifications, etc. This field cannot be empty, and must not exceed 2048 UTF-8 code units.
      - `range` Range: Specifies a contiguous range of text.
        - `endIndex` integer: The zero-based end index of this range, exclusive, in UTF-16 code units. In all current uses, an end index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `segmentId` string: The ID of the header, footer, or footnote that this range is contained in. An empty segment ID signifies the document's body.
        - `startIndex` integer: The zero-based start index of this range, in UTF-16 code units. In all current uses, a start index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `tabId` string: The tab that contains this range. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `insertDate` InsertDateRequest: Inserts a date at the specified location.
      - `dateElementProperties` DateElementProperties: Properties of a DateElement.
        - `dateFormat` 'DATE_FORMAT_UNSPECIFIED' | 'DATE_FORMAT_CUSTOM' | 'DATE_FORMAT_MONTH_DAY_ABBREVIATED' | 'DATE_FORMAT_MONTH_DAY_FULL' | 'DATE_FORMAT_MONTH_DAY_YEAR_ABBREVIATED' | 'DATE_FORMAT_ISO8601': Determines how the date part of the DateElement will be displayed in the document. If unset, the default value is DATE_FORMAT_MONTH_DAY_YEAR_ABBREVIATED, indicating the DateElement will be formatted as `MMM d, y` in `en`, or locale specific equivalent.
        - `displayText` string: Output only. Indicates how the DateElement is displayed in the document.
        - `locale` string: The language code of the DateElement. For example, `en`. If unset, the default locale is `en`. Limited to the following locales: `af`, `am`, `ar`, `as`, `az`, `be`, `bg`, `bn`, `ca`, `cs`, `da`, `de`, `el`, `en`, `en-CA`, `en-GB`, `es`, `es-419`, `et`, `eu`, `fa`, `fi`, `fil`, `fr`, `fr-CA`, `gl`, `gu`, `hi`, `hr`, `hu`, `hy`, `id`, `is`, `it`, `iw`, `ja`, `ka`, `kk`, `km`, `kn`, `ko`, `lo`, `lt`, `lv`, `mk`, `ml`, `mn`, `mr`, `ms`, `ne`, `nl`, `no`, `or`, `pa`, `pl`, `pt-BR`, `pt-PT`, `ro`, `ru`, `si`, `sk`, `sl`, `sq`, `sr`, `sv`, `sw`, `ta`, `te`, `th`, `tr`, `uk`, `ur`, `uz`, `vi`, `zh-CN`, `zh-HK`, `zh-TW`, `zu`, `cy`, `my`.
        - `timeFormat` 'TIME_FORMAT_UNSPECIFIED' | 'TIME_FORMAT_DISABLED' | 'TIME_FORMAT_HOUR_MINUTE' | 'TIME_FORMAT_HOUR_MINUTE_TIMEZONE': Determines how the time part of the DateElement will be displayed in the document. If unset, the default value is TIME_FORMAT_DISABLED, indicating no time should be shown.
        - `timeZoneId` string: The time zone of the DateElement, as defined by the Unicode Common Locale Data Repository (CLDR) project. For example, `America/New_York`. If unset, the default time zone is `etc/UTC`.
        - `timestamp` string, google-datetime: The point in time to represent, in seconds and nanoseconds since Unix epoch: January 1, 1970 at midnight UTC. Timestamp is expected to be in UTC. If time_zone_id is set, the timestamp is adjusted according to the time zone. For example, a timestamp of `18000` with a date format of `DATE_FORMAT_ISO8601` and time format of `TIME_FORMAT_HOUR_MINUTE` would be displayed as `1970-01-01 5:00 AM`. A timestamp of `18000` with date format of `DATE_FORMAT_ISO8601`, time format of `TIME_FORMAT_HOUR_MINUTE`, and time zone set to `America/New_York` will instead be `1970-01-01 12:00 AM`.
      - `endOfSegmentLocation` EndOfSegmentLocation: Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `location` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `insertDropdown` InsertDropdownRequest: Inserts a Dropdown at the specified location.
      - `dropdownDefinitionId` string: Required. The DropdownDefinition ID.
      - `endOfSegmentLocation` EndOfSegmentLocation: Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `location` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `selectedOptionId` string: Optional initial value for the dropdown. If this field is not specified, the new dropdown will default to selecting the first option defined in the dropdown definition. If this field is specified but does not reference a valid option in the dropdown definition, a 400 bad request error is returned.
    - `insertInlineImage` InsertInlineImageRequest: Inserts an InlineObject containing an image at the given location.
      - `endOfSegmentLocation` EndOfSegmentLocation: Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `location` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `objectSize` Size: A width and height.
        - `height` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `width` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
      - `uri` string: The image URI. The image is fetched once at insertion time and a copy is stored for display inside the document. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URI must be publicly accessible and at most 2 kB in length. The URI itself is saved with the image, and exposed via the ImageProperties.content_uri field.
    - `insertPageBreak` InsertPageBreakRequest: Inserts a page break followed by a newline at the specified location.
      - `endOfSegmentLocation` EndOfSegmentLocation: Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `location` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `insertPerson` InsertPersonRequest: Inserts a person mention.
      - `endOfSegmentLocation` EndOfSegmentLocation: Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `location` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `personProperties` PersonProperties: Properties specific to a linked Person.
        - `email` string: The email address linked to this Person. This field is always present.
        - `name` string: The name of the person if it's displayed in the link text instead of the person's email address.
    - `insertRichLink` InsertRichLinkRequest: Inserts a RichLink at the specified location.
      - `endOfSegmentLocation` EndOfSegmentLocation: Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `location` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `richLinkProperties` RichLinkProperties: Properties specific to a RichLink.
        - `mimeType` string: The [MIME type](https://developers.google.com/drive/api/v3/mime-types) of the RichLink, if there's one (for example, when it's a file in Drive).
        - `title` string: The title of the RichLink as displayed in the link. This title matches the title of the linked resource at the time of the insertion or last update of the link. This field is always present.
        - `uri` string: The URI to the RichLink. This is always present.
    - `insertSectionBreak` InsertSectionBreakRequest: Inserts a section break at the given location. A newline character will be inserted before the section break.
      - `endOfSegmentLocation` EndOfSegmentLocation: Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `location` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `sectionType` 'SECTION_TYPE_UNSPECIFIED' | 'CONTINUOUS' | 'NEXT_PAGE': The type of section to insert.
    - `insertTable` InsertTableRequest: Inserts a table at the specified location. A newline character will be inserted before the inserted table.
      - `columns` integer: The number of columns in the table.
      - `endOfSegmentLocation` EndOfSegmentLocation: Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `location` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `rows` integer: The number of rows in the table.
    - `insertTableColumn` InsertTableColumnRequest: Inserts an empty column into a table.
      - `insertRight` boolean: Whether to insert new column to the right of the reference cell location. - `True`: insert to the right. - `False`: insert to the left.
      - `tableCellLocation` TableCellLocation: Location of a single cell within a table.
        - `columnIndex` integer: The zero-based column index. For example, the second column in the table has a column index of 1.
        - `rowIndex` integer: The zero-based row index. For example, the second row in the table has a row index of 1.
        - `tableStartLocation` Location: A particular location in the document.
          - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
          - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
          - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `insertTableRow` InsertTableRowRequest: Inserts an empty row into a table.
      - `insertBelow` boolean: Whether to insert new row below the reference cell location. - `True`: insert below the cell. - `False`: insert above the cell.
      - `tableCellLocation` TableCellLocation: Location of a single cell within a table.
        - `columnIndex` integer: The zero-based column index. For example, the second column in the table has a column index of 1.
        - `rowIndex` integer: The zero-based row index. For example, the second row in the table has a row index of 1.
        - `tableStartLocation` Location: A particular location in the document.
          - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
          - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
          - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `insertText` InsertTextRequest: Inserts text at the specified location.
      - `endOfSegmentLocation` EndOfSegmentLocation: Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `location` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `text` string: The text to be inserted. Inserting a newline character will implicitly create a new Paragraph at that index. The paragraph style of the new paragraph will be copied from the paragraph at the current insertion index, including lists and bullets. Text styles for inserted text will be determined automatically, generally preserving the styling of neighboring text. In most cases, the text style for the inserted text will match the text immediately before the insertion index. Some control characters (U+0000-U+0008, U+000C-U+001F) and characters from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF) will be stripped out of the inserted text.
    - `mergeTableCells` MergeTableCellsRequest: Merges cells in a Table.
      - `tableRange` TableRange: A table range represents a reference to a subset of a table. It's important to note that the cells specified by a table range do not necessarily form a rectangle. For example, let's say we have a 3 x 3 table where all the cells of the last row are merged together. The table looks like this: [ ] A table range with table cell location = (table_start_location, row = 0, column = 0), row span = 3 and column span = 2 specifies the following cells: x x [ x x x ]
        - `columnSpan` integer: The column span of the table range.
        - `rowSpan` integer: The row span of the table range.
        - `tableCellLocation` TableCellLocation: Location of a single cell within a table.
          - `columnIndex` integer: The zero-based column index. For example, the second column in the table has a column index of 1.
          - `rowIndex` integer: The zero-based row index. For example, the second row in the table has a row index of 1.
          - `tableStartLocation` Location: A particular location in the document.
            - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
            - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
            - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `pinTableHeaderRows` PinTableHeaderRowsRequest: Updates the number of pinned table header rows in a table.
      - `pinnedHeaderRowsCount` integer: The number of table rows to pin, where 0 implies that all rows are unpinned.
      - `tableStartLocation` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `rejectSuggestion` RejectSuggestionRequest: Rejects a suggestion. Returns a 403 forbidden error if the requesting user does not have edit access to the document and is not the author of the suggestion.
      - `suggestionId` string: The ID of the suggestion.
    - `replaceAllText` ReplaceAllTextRequest: Replaces all instances of text matching a criteria with replace text.
      - `containsText` SubstringMatchCriteria: A criteria that matches a specific string of text in the document.
        - `matchCase` boolean: Indicates whether the search should respect case: - `True`: the search is case sensitive. - `False`: the search is case insensitive.
        - `searchByRegex` boolean: Optional. True if the find value should be treated as a regular expression. Any backslashes in the pattern should be escaped. - `True`: the search text is treated as a regular expressions. - `False`: the search text is treated as a substring for matching.
        - `text` string: The text to search for in the document.
      - `replaceText` string: The text that will replace the matched text.
      - `tabsCriteria` TabsCriteria: A criteria that specifies in which tabs a request executes.
        - `tabIds` string[]: The list of tab IDs in which the request executes.
    - `replaceImage` ReplaceImageRequest: Replaces an existing image with a new image. Replacing an image removes some image effects from the existing image in order to mirror the behavior of the Docs editor.
      - `imageObjectId` string: The ID of the existing image that will be replaced. The ID can be retrieved from the response of a get request.
      - `imageReplaceMethod` 'IMAGE_REPLACE_METHOD_UNSPECIFIED' | 'CENTER_CROP': The replacement method.
      - `tabId` string: The tab that the image to be replaced is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `uri` string: The URI of the new image. The image is fetched once at insertion time and a copy is stored for display inside the document. Images must be less than 50MB, cannot exceed 25 megapixels, and must be in PNG, JPEG, or GIF format. The provided URI can't surpass 2 KB in length. The URI is saved with the image, and exposed through the ImageProperties.source_uri field.
    - `replaceNamedRangeContent` ReplaceNamedRangeContentRequest: Replaces the contents of the specified NamedRange or NamedRanges with the given replacement content. Note that an individual NamedRange may consist of multiple discontinuous ranges. In this case, only the content in the first range will be replaced. The other ranges and their content will be deleted. In cases where replacing or deleting any ranges would result in an invalid document structure, a 400 bad request error is returned.
      - `namedRangeId` string: The ID of the named range whose content will be replaced. If there is no named range with the given ID a 400 bad request error is returned.
      - `namedRangeName` string: The name of the NamedRanges whose content will be replaced. If there are multiple named ranges with the given name, then the content of each one will be replaced. If there are no named ranges with the given name, then the request will be a no-op.
      - `tabsCriteria` TabsCriteria: A criteria that specifies in which tabs a request executes.
        - `tabIds` string[]: The list of tab IDs in which the request executes.
      - `text` string: Replaces the content of the specified named range(s) with the given text.
    - `unmergeTableCells` UnmergeTableCellsRequest: Unmerges cells in a Table.
      - `tableRange` TableRange: A table range represents a reference to a subset of a table. It's important to note that the cells specified by a table range do not necessarily form a rectangle. For example, let's say we have a 3 x 3 table where all the cells of the last row are merged together. The table looks like this: [ ] A table range with table cell location = (table_start_location, row = 0, column = 0), row span = 3 and column span = 2 specifies the following cells: x x [ x x x ]
        - `columnSpan` integer: The column span of the table range.
        - `rowSpan` integer: The row span of the table range.
        - `tableCellLocation` TableCellLocation: Location of a single cell within a table.
          - `columnIndex` integer: The zero-based column index. For example, the second column in the table has a column index of 1.
          - `rowIndex` integer: The zero-based row index. For example, the second row in the table has a row index of 1.
          - `tableStartLocation` Location: A particular location in the document.
            - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
            - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
            - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `updateCommentPost` UpdateCommentPostRequest: Updates a Post in a CommentThread or SuggestionThread. Returns a 400 bad request error if: - The post is the headPost of a SuggestionThread. - The requesting user is not the author of the post.
      - `commentId` string: The ID of the CommentThread which the post belongs to.
      - `content` string: The new text of the comment, as plain text. This text content will be handled similarly to comments created in the Docs editor. It will have similar behaviors for formatting, notifications, etc. This field cannot be empty, and must not exceed 2048 UTF-8 code units.
      - `postId` string: The ID of the post being updated.
      - `suggestionId` string: The ID of the SuggestionThread which the post belongs to.
    - `updateDocumentStyle` UpdateDocumentStyleRequest: Updates the DocumentStyle.
      - `documentStyle` DocumentStyle: The style of the document.
        - `background` Background: Represents the background of a document.
          - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
        - `defaultFooterId` string: The ID of the default footer. If not set, there's no default footer. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `defaultHeaderId` string: The ID of the default header. If not set, there's no default header. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `documentFormat` DocumentFormat: Represents document-level format settings.
          - `documentMode` 'DOCUMENT_MODE_UNSPECIFIED' | 'PAGES' | 'PAGELESS': Whether the document has pages or is pageless.
        - `evenPageFooterId` string: The ID of the footer used only for even pages. The value of use_even_page_header_footer determines whether to use the default_footer_id or this value for the footer on even pages. If not set, there's no even page footer. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `evenPageHeaderId` string: The ID of the header used only for even pages. The value of use_even_page_header_footer determines whether to use the default_header_id or this value for the header on even pages. If not set, there's no even page header. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `firstPageFooterId` string: The ID of the footer used only for the first page. If not set then a unique footer for the first page does not exist. The value of use_first_page_header_footer determines whether to use the default_footer_id or this value for the footer on the first page. If not set, there's no first page footer. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `firstPageHeaderId` string: The ID of the header used only for the first page. If not set then a unique header for the first page does not exist. The value of use_first_page_header_footer determines whether to use the default_header_id or this value for the header on the first page. If not set, there's no first page header. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `flipPageOrientation` boolean: Optional. Indicates whether to flip the dimensions of the page_size, which allows changing the page orientation between portrait and landscape. If DocumentMode is PAGELESS, this property will not be rendered.
        - `marginBottom` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `marginFooter` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `marginHeader` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `marginLeft` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `marginRight` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `marginTop` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `pageNumberStart` integer: The page number from which to start counting the number of pages. If DocumentMode is PAGELESS, this property will not be rendered.
        - `pageSize` Size: A width and height.
          - `height` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `width` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `useCustomHeaderFooterMargins` boolean: Indicates whether DocumentStyle margin_header, SectionStyle margin_header and DocumentStyle margin_footer, SectionStyle margin_footer are respected. When false, the default values in the Docs editor for header and footer margin is used. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `useEvenPageHeaderFooter` boolean: Indicates whether to use the even page header / footer IDs for the even pages. If DocumentMode is PAGELESS, this property will not be rendered.
        - `useFirstPageHeaderFooter` boolean: Indicates whether to use the first page header / footer IDs for the first page. If DocumentMode is PAGELESS, this property will not be rendered.
      - `fields` string, google-fieldmask: The fields that should be updated. At least one field must be specified. The root `document_style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the background, set `fields` to `"background"`.
      - `tabId` string: The tab that contains the style to update. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If not provided, the request applies to the first tab in the document.
    - `updateDocumentTabProperties` UpdateDocumentTabPropertiesRequest: Update the properties of a document tab.
      - `fields` string, google-fieldmask: The fields that should be updated. At least one field must be specified. The root `tab_properties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.
      - `tabProperties` TabProperties: Properties of a tab.
        - `iconEmoji` string: Optional. The emoji icon displayed with the tab. A valid emoji icon is represented by a non-empty Unicode string. Any set of characters that don't represent a single emoji is invalid. If an emoji is invalid, a 400 bad request error is returned. If this value is unset or empty, the tab will display the default tab icon.
        - `index` integer: The zero-based index of the tab within the parent.
        - `nestingLevel` integer: Output only. The depth of the tab within the document. Root-level tabs start at 0.
        - `parentTabId` string: Optional. The ID of the parent tab. Empty when the current tab is a root-level tab, which means it doesn't have any parents.
        - `tabId` string: The immutable ID of the tab.
        - `title` string: The user-visible name of the tab.
    - `updateDropdownDefinitionProperties` UpdateDropdownDefinitionPropertiesRequest: Updates the properties of a DropdownDefinition.
      - `dropdownDefinitionId` string: The ID of the DropdownDefinition to update.
      - `dropdownDefinitionProperties` DropdownDefinitionProperties: Properties of a dropdown definition.
        - `options` DropdownOption[]: The list of options defined by this dropdown definition. A dropdown definition must have at least 2 options and at most 50 options.
          - `displayValue` string: The display value of this dropdown option.
          - `optionId` string: The ID of this dropdown option. If you specify an ID, it must be unique among all options in this dropdown definition. The ID must start with `dropdownItem.` and match regex `^dropdownItem\.[a-zA-Z0-9_-]{2,14}$` (length 15-27 chars). If you don't specify an ID, a unique one is generated.
          - `textStyle` TextStyle: Represents the styling that can be applied to text. Inherited text styles are represented as unset fields in this message. A text style's parent depends on where the text style is defined: * The TextStyle of text in a Paragraph inherits from the paragraph's corresponding named style type. * The TextStyle on a named style inherits from the normal text named style. * The TextStyle of the normal text named style inherits from the default text style in the Docs editor. * The TextStyle on a Paragraph element that's contained in a table may inherit its text style from the table style. If the text style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.
            - `backgroundColor` OptionalColor: A color that can either be fully opaque or fully transparent.
              - …
            - `baselineOffset` 'BASELINE_OFFSET_UNSPECIFIED' | 'NONE' | 'SUPERSCRIPT' | 'SUBSCRIPT': The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. Changes in this field don't affect the `font_size`.
            - `bold` boolean: Whether or not the text is rendered as bold.
            - `fontSize` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `foregroundColor` OptionalColor: A color that can either be fully opaque or fully transparent.
              - …
            - `italic` boolean: Whether or not the text is italicized.
            - `link` Link: A reference to another portion of a document or an external URL resource.
              - …
            - `smallCaps` boolean: Whether or not the text is in small capital letters.
            - `strikethrough` boolean: Whether or not the text is struck through.
            - `underline` boolean: Whether or not the text is underlined.
            - `weightedFontFamily` WeightedFontFamily: Represents a font family and weight of text.
              - …
        - `title` string: The title of the dropdown definition.
      - `fields` string, google-fieldmask: The fields that should be updated. At least one field must be specified. The root `dropdown_definition_properties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. When `dropdown_definition_properties.options` is included in the field mask, the full, complete list of desired options must be provided in `dropdown_definition_properties.options`.
      - `selectedOptionIdReplacements` object: A map of option IDs to their replacements, used to automatically reassign orphaned Dropdown chips when an option is deleted. The keys are the IDs of the options being deleted, and the values are the IDs of their replacement options. If an option being deleted is selected in one or more Dropdown chips in the document, a replacement entry for that option must be provided in this map, and the replacement option ID must exist in the updated DropdownDefinition. If a replacement is required but not provided, a 400 bad request error is returned. Options being deleted that are not selected in any Dropdown chips do not require a replacement. For example, if option A is being replaced by option B, the map should be `{"A": "B"}`.
      - `tabId` string: The ID of the tab that contains the dropdown definition to update. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `updateDropdownProperties` UpdateDropdownPropertiesRequest: Updates the properties of a Dropdown.
      - `dropdownId` string: Required. The Dropdown ID.
      - `dropdownProperties` DropdownProperties: Properties specific to a dropdown.
        - `displayValue` string: The human-readable display text of the currently selected item. This field is populated by the server based on the dropdown definition and the selected option ID. It may differ from `DropdownOption.display_value` if the underlying option definition was modified or deleted, or during pending suggested changes.
        - `dropdownDefinitionId` string: The ID of the DropdownDefinition that defines the options for this dropdown.
        - `selectedOptionId` string: The ID of the selected option in this dropdown.
      - `fields` string, google-fieldmask: The fields that should be updated. At least one field must be specified. The root `dropdown_properties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.
      - `tabId` string: The ID of the tab that contains the dropdown to update. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `updateNamedStyle` UpdateNamedStyleRequest: Updates a named style.
      - `fields` string, google-fieldmask: The NamedStyle fields that should be updated. At least `named_style_type` must be specified. The root `named_style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example, to update the text style to bold, set `fields` to include `"text_style"` and `"text_style.bold"`. To update the paragraph style's alignment property, set `fields` to include `"paragraph_style"` and `"paragraph_style.alignment"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. Specifying `"text_style"` or `"paragraph_style"` with an empty TextStyle or ParagraphStyle will reset all of its nested fields.
      - `namedStyle` NamedStyle: A named style. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from this named style when they have the same named style type.
        - `namedStyleType` 'NAMED_STYLE_TYPE_UNSPECIFIED' | 'NORMAL_TEXT' | 'TITLE' | 'SUBTITLE' | 'HEADING_1' | 'HEADING_2' | 'HEADING_3' | 'HEADING_4' | 'HEADING_5' | 'HEADING_6': The type of this named style.
        - `paragraphStyle` ParagraphStyle: Styles that apply to a whole paragraph. Inherited paragraph styles are represented as unset fields in this message. A paragraph style's parent depends on where the paragraph style is defined: * The ParagraphStyle on a Paragraph inherits from the paragraph's corresponding named style type. * The ParagraphStyle on a named style inherits from the normal text named style. * The ParagraphStyle of the normal text named style inherits from the default paragraph style in the Docs editor. * The ParagraphStyle on a Paragraph element that's contained in a table may inherit its paragraph style from the table style. If the paragraph style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.
          - `alignment` 'ALIGNMENT_UNSPECIFIED' | 'START' | 'CENTER' | 'END' | 'JUSTIFIED': The text alignment for this paragraph.
          - `avoidWidowAndOrphan` boolean: Whether to avoid widows and orphans for the paragraph. If unset, the value is inherited from the parent.
          - `borderBetween` ParagraphBorder: A border around a paragraph.
            - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
              - …
            - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
            - `padding` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `width` Dimension: A magnitude in a single direction in the specified units.
              - …
          - `borderBottom` ParagraphBorder: A border around a paragraph.
            - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
              - …
            - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
            - `padding` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `width` Dimension: A magnitude in a single direction in the specified units.
              - …
          - `borderLeft` ParagraphBorder: A border around a paragraph.
            - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
              - …
            - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
            - `padding` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `width` Dimension: A magnitude in a single direction in the specified units.
              - …
          - `borderRight` ParagraphBorder: A border around a paragraph.
            - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
              - …
            - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
            - `padding` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `width` Dimension: A magnitude in a single direction in the specified units.
              - …
          - `borderTop` ParagraphBorder: A border around a paragraph.
            - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
              - …
            - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
            - `padding` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `width` Dimension: A magnitude in a single direction in the specified units.
              - …
          - `direction` 'CONTENT_DIRECTION_UNSPECIFIED' | 'LEFT_TO_RIGHT' | 'RIGHT_TO_LEFT': The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since paragraph direction is not inherited.
          - `headingId` string: The heading ID of the paragraph. If empty, then this paragraph is not a heading. This property is read-only.
          - `indentEnd` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `indentFirstLine` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `indentStart` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `keepLinesTogether` boolean: Whether all lines of the paragraph should be laid out on the same page or column if possible. If unset, the value is inherited from the parent.
          - `keepWithNext` boolean: Whether at least a part of this paragraph should be laid out on the same page or column as the next paragraph if possible. If unset, the value is inherited from the parent.
          - `lineSpacing` number, float: The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent.
          - `namedStyleType` 'NAMED_STYLE_TYPE_UNSPECIFIED' | 'NORMAL_TEXT' | 'TITLE' | 'SUBTITLE' | 'HEADING_1' | 'HEADING_2' | 'HEADING_3' | 'HEADING_4' | 'HEADING_5' | 'HEADING_6': The named style type of the paragraph. Since updating the named style type affects other properties within ParagraphStyle, the named style type is applied before the other properties are updated.
          - `pageBreakBefore` boolean: Whether the current paragraph should always start at the beginning of a page. If unset, the value is inherited from the parent. Attempting to update page_break_before for paragraphs in unsupported regions, including Table, Header, Footer and Footnote, can result in an invalid document state that returns a 400 bad request error.
          - `shading` Shading: The shading of a paragraph.
            - `backgroundColor` OptionalColor: A color that can either be fully opaque or fully transparent.
              - …
          - `spaceAbove` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `spaceBelow` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `spacingMode` 'SPACING_MODE_UNSPECIFIED' | 'NEVER_COLLAPSE' | 'COLLAPSE_LISTS': The spacing mode for the paragraph.
          - `tabStops` TabStop[]: A list of the tab stops for this paragraph. The list of tab stops is not inherited. This property is read-only.
            - `alignment` 'TAB_STOP_ALIGNMENT_UNSPECIFIED' | 'START' | 'CENTER' | 'END': The alignment of this tab stop. If unset, the value defaults to START.
            - `offset` Dimension: A magnitude in a single direction in the specified units.
              - …
        - `textStyle` TextStyle: Represents the styling that can be applied to text. Inherited text styles are represented as unset fields in this message. A text style's parent depends on where the text style is defined: * The TextStyle of text in a Paragraph inherits from the paragraph's corresponding named style type. * The TextStyle on a named style inherits from the normal text named style. * The TextStyle of the normal text named style inherits from the default text style in the Docs editor. * The TextStyle on a Paragraph element that's contained in a table may inherit its text style from the table style. If the text style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.
          - `backgroundColor` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `baselineOffset` 'BASELINE_OFFSET_UNSPECIFIED' | 'NONE' | 'SUPERSCRIPT' | 'SUBSCRIPT': The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. Changes in this field don't affect the `font_size`.
          - `bold` boolean: Whether or not the text is rendered as bold.
          - `fontSize` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `foregroundColor` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `italic` boolean: Whether or not the text is italicized.
          - `link` Link: A reference to another portion of a document or an external URL resource.
            - `bookmark` BookmarkLink: A reference to a bookmark in this document.
              - …
            - `bookmarkId` string: The ID of a bookmark in this document. Legacy field: Instead, set includeTabsContent to `true` and use Link.bookmark for read and write operations. This field is only returned when includeTabsContent is set to `false` in documents containing a single tab and links to a bookmark within the singular tab. Otherwise, Link.bookmark is returned. If this field is used in a write request, the bookmark is considered to be from the tab ID specified in the request. If a tab ID is not specified in the request, it is considered to be from the first tab in the document.
            - `heading` HeadingLink: A reference to a heading in this document.
              - …
            - `headingId` string: The ID of a heading in this document. Legacy field: Instead, set includeTabsContent to `true` and use Link.heading for read and write operations. This field is only returned when includeTabsContent is set to `false` in documents containing a single tab and links to a heading within the singular tab. Otherwise, Link.heading is returned. If this field is used in a write request, the heading is considered to be from the tab ID specified in the request. If a tab ID is not specified in the request, it is considered to be from the first tab in the document.
            - `tabId` string: The ID of a tab in this document.
            - `url` string: An external URL.
          - `smallCaps` boolean: Whether or not the text is in small capital letters.
          - `strikethrough` boolean: Whether or not the text is struck through.
          - `underline` boolean: Whether or not the text is underlined.
          - `weightedFontFamily` WeightedFontFamily: Represents a font family and weight of text.
            - `fontFamily` string: The font family of the text. The font family can be any font from the Font menu in Docs or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
            - `weight` integer: The weight of the font. This field can have any value that's a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. The default value is `400` ("normal"). The font weight makes up just one component of the rendered font weight. A combination of the `weight` and the text style's resolved `bold` value determine the rendered weight, after accounting for inheritance: * If the text is bold and the weight is less than `400`, the rendered weight is 400. * If the text is bold and the weight is greater than or equal to `400` but is less than `700`, the rendered weight is `700`. * If the weight is greater than or equal to `700`, the rendered weight is equal to the weight. * If the text is not bold, the rendered weight is equal to the weight.
      - `tabId` string: The document tab to update. By default, the update is applied to the first tab.
    - `updateParagraphStyle` UpdateParagraphStyleRequest: Update the styling of all paragraphs that overlap with the given range.
      - `fields` string, google-fieldmask: The fields that should be updated. At least one field must be specified. The root `paragraph_style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example, to update the paragraph style's alignment property, set `fields` to `"alignment"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
      - `paragraphStyle` ParagraphStyle: Styles that apply to a whole paragraph. Inherited paragraph styles are represented as unset fields in this message. A paragraph style's parent depends on where the paragraph style is defined: * The ParagraphStyle on a Paragraph inherits from the paragraph's corresponding named style type. * The ParagraphStyle on a named style inherits from the normal text named style. * The ParagraphStyle of the normal text named style inherits from the default paragraph style in the Docs editor. * The ParagraphStyle on a Paragraph element that's contained in a table may inherit its paragraph style from the table style. If the paragraph style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.
        - `alignment` 'ALIGNMENT_UNSPECIFIED' | 'START' | 'CENTER' | 'END' | 'JUSTIFIED': The text alignment for this paragraph.
        - `avoidWidowAndOrphan` boolean: Whether to avoid widows and orphans for the paragraph. If unset, the value is inherited from the parent.
        - `borderBetween` ParagraphBorder: A border around a paragraph.
          - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
          - `padding` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `width` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `borderBottom` ParagraphBorder: A border around a paragraph.
          - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
          - `padding` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `width` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `borderLeft` ParagraphBorder: A border around a paragraph.
          - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
          - `padding` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `width` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `borderRight` ParagraphBorder: A border around a paragraph.
          - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
          - `padding` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `width` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `borderTop` ParagraphBorder: A border around a paragraph.
          - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
          - `padding` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `width` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `direction` 'CONTENT_DIRECTION_UNSPECIFIED' | 'LEFT_TO_RIGHT' | 'RIGHT_TO_LEFT': The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since paragraph direction is not inherited.
        - `headingId` string: The heading ID of the paragraph. If empty, then this paragraph is not a heading. This property is read-only.
        - `indentEnd` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `indentFirstLine` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `indentStart` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `keepLinesTogether` boolean: Whether all lines of the paragraph should be laid out on the same page or column if possible. If unset, the value is inherited from the parent.
        - `keepWithNext` boolean: Whether at least a part of this paragraph should be laid out on the same page or column as the next paragraph if possible. If unset, the value is inherited from the parent.
        - `lineSpacing` number, float: The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent.
        - `namedStyleType` 'NAMED_STYLE_TYPE_UNSPECIFIED' | 'NORMAL_TEXT' | 'TITLE' | 'SUBTITLE' | 'HEADING_1' | 'HEADING_2' | 'HEADING_3' | 'HEADING_4' | 'HEADING_5' | 'HEADING_6': The named style type of the paragraph. Since updating the named style type affects other properties within ParagraphStyle, the named style type is applied before the other properties are updated.
        - `pageBreakBefore` boolean: Whether the current paragraph should always start at the beginning of a page. If unset, the value is inherited from the parent. Attempting to update page_break_before for paragraphs in unsupported regions, including Table, Header, Footer and Footnote, can result in an invalid document state that returns a 400 bad request error.
        - `shading` Shading: The shading of a paragraph.
          - `backgroundColor` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
        - `spaceAbove` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `spaceBelow` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `spacingMode` 'SPACING_MODE_UNSPECIFIED' | 'NEVER_COLLAPSE' | 'COLLAPSE_LISTS': The spacing mode for the paragraph.
        - `tabStops` TabStop[]: A list of the tab stops for this paragraph. The list of tab stops is not inherited. This property is read-only.
          - `alignment` 'TAB_STOP_ALIGNMENT_UNSPECIFIED' | 'START' | 'CENTER' | 'END': The alignment of this tab stop. If unset, the value defaults to START.
          - `offset` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
      - `range` Range: Specifies a contiguous range of text.
        - `endIndex` integer: The zero-based end index of this range, exclusive, in UTF-16 code units. In all current uses, an end index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `segmentId` string: The ID of the header, footer, or footnote that this range is contained in. An empty segment ID signifies the document's body.
        - `startIndex` integer: The zero-based start index of this range, in UTF-16 code units. In all current uses, a start index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `tabId` string: The tab that contains this range. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `updateSectionStyle` UpdateSectionStyleRequest: Updates the SectionStyle.
      - `fields` string, google-fieldmask: The fields that should be updated. At least one field must be specified. The root `section_style` is implied and must not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the left margin, set `fields` to `"margin_left"`.
      - `range` Range: Specifies a contiguous range of text.
        - `endIndex` integer: The zero-based end index of this range, exclusive, in UTF-16 code units. In all current uses, an end index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `segmentId` string: The ID of the header, footer, or footnote that this range is contained in. An empty segment ID signifies the document's body.
        - `startIndex` integer: The zero-based start index of this range, in UTF-16 code units. In all current uses, a start index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `tabId` string: The tab that contains this range. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `sectionStyle` SectionStyle: The styling that applies to a section.
        - `columnProperties` SectionColumnProperties[]: The section's columns properties. If empty, the section contains one column with the default properties in the Docs editor. A section can be updated to have no more than 3 columns. When updating this property, setting a concrete value is required. Unsetting this property will result in a 400 bad request error.
          - `paddingEnd` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `width` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `columnSeparatorStyle` 'COLUMN_SEPARATOR_STYLE_UNSPECIFIED' | 'NONE' | 'BETWEEN_EACH_COLUMN': The style of column separators. This style can be set even when there's one column in the section. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.
        - `contentDirection` 'CONTENT_DIRECTION_UNSPECIFIED' | 'LEFT_TO_RIGHT' | 'RIGHT_TO_LEFT': The content direction of this section. If unset, the value defaults to LEFT_TO_RIGHT. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.
        - `defaultFooterId` string: The ID of the default footer. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's default_footer_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `defaultHeaderId` string: The ID of the default header. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's default_header_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `evenPageFooterId` string: The ID of the footer used only for even pages. If the value of DocumentStyle's use_even_page_header_footer is true, this value is used for the footers on even pages in the section. If it is false, the footers on even pages use the default_footer_id. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's even_page_footer_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `evenPageHeaderId` string: The ID of the header used only for even pages. If the value of DocumentStyle's use_even_page_header_footer is true, this value is used for the headers on even pages in the section. If it is false, the headers on even pages use the default_header_id. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's even_page_header_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `firstPageFooterId` string: The ID of the footer used only for the first page of the section. If use_first_page_header_footer is true, this value is used for the footer on the first page of the section. If it's false, the footer on the first page of the section uses the default_footer_id. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's first_page_footer_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `firstPageHeaderId` string: The ID of the header used only for the first page of the section. If use_first_page_header_footer is true, this value is used for the header on the first page of the section. If it's false, the header on the first page of the section uses the default_header_id. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's first_page_header_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only.
        - `flipPageOrientation` boolean: Optional. Indicates whether to flip the dimensions of DocumentStyle's page_size for this section, which allows changing the page orientation between portrait and landscape. If unset, the value inherits from DocumentStyle's flip_page_orientation. If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.
        - `marginBottom` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `marginFooter` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `marginHeader` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `marginLeft` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `marginRight` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `marginTop` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `pageNumberStart` integer: The page number from which to start counting the number of pages for this section. If unset, page numbering continues from the previous section. If the value is unset in the first SectionBreak, refer to DocumentStyle's page_number_start. If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.
        - `sectionType` 'SECTION_TYPE_UNSPECIFIED' | 'CONTINUOUS' | 'NEXT_PAGE': Output only. The type of section.
        - `useFirstPageHeaderFooter` boolean: Indicates whether to use the first page header / footer IDs for the first page of the section. If unset, it inherits from DocumentStyle's use_first_page_header_footer for the first section. If the value is unset for subsequent sectors, it should be interpreted as false. If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.
    - `updateTableCellStyle` UpdateTableCellStyleRequest: Updates the style of a range of table cells.
      - `fields` string, google-fieldmask: The fields that should be updated. At least one field must be specified. The root `tableCellStyle` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the table cell background color, set `fields` to `"backgroundColor"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
      - `tableCellStyle` TableCellStyle: The style of a TableCell. Inherited table cell styles are represented as unset fields in this message. A table cell style can inherit from the table's style.
        - `backgroundColor` OptionalColor: A color that can either be fully opaque or fully transparent.
          - `color` Color: A solid color.
            - `rgbColor` RgbColor: An RGB color.
              - …
        - `borderBottom` TableCellBorder: A border around a table cell. Table cell borders cannot be transparent. To hide a table cell border, make its width 0.
          - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
          - `width` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `borderLeft` TableCellBorder: A border around a table cell. Table cell borders cannot be transparent. To hide a table cell border, make its width 0.
          - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
          - `width` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `borderRight` TableCellBorder: A border around a table cell. Table cell borders cannot be transparent. To hide a table cell border, make its width 0.
          - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
          - `width` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `borderTop` TableCellBorder: A border around a table cell. Table cell borders cannot be transparent. To hide a table cell border, make its width 0.
          - `color` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `dashStyle` 'DASH_STYLE_UNSPECIFIED' | 'SOLID' | 'DOT' | 'DASH': The dash style of the border.
          - `width` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `columnSpan` integer: The column span of the cell. This property is read-only.
        - `contentAlignment` 'CONTENT_ALIGNMENT_UNSPECIFIED' | 'CONTENT_ALIGNMENT_UNSUPPORTED' | 'TOP' | 'MIDDLE' | 'BOTTOM': The alignment of the content in the table cell. The default alignment matches the alignment for newly created table cells in the Docs editor.
        - `paddingBottom` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `paddingLeft` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `paddingRight` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `paddingTop` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `rowSpan` integer: The row span of the cell. This property is read-only.
      - `tableRange` TableRange: A table range represents a reference to a subset of a table. It's important to note that the cells specified by a table range do not necessarily form a rectangle. For example, let's say we have a 3 x 3 table where all the cells of the last row are merged together. The table looks like this: [ ] A table range with table cell location = (table_start_location, row = 0, column = 0), row span = 3 and column span = 2 specifies the following cells: x x [ x x x ]
        - `columnSpan` integer: The column span of the table range.
        - `rowSpan` integer: The row span of the table range.
        - `tableCellLocation` TableCellLocation: Location of a single cell within a table.
          - `columnIndex` integer: The zero-based column index. For example, the second column in the table has a column index of 1.
          - `rowIndex` integer: The zero-based row index. For example, the second row in the table has a row index of 1.
          - `tableStartLocation` Location: A particular location in the document.
            - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
            - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
            - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `tableStartLocation` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `updateTableColumnProperties` UpdateTableColumnPropertiesRequest: Updates the TableColumnProperties of columns in a table.
      - `columnIndices` integer[]: The list of zero-based column indices whose property should be updated. If no indices are specified, all columns will be updated.
      - `fields` string, google-fieldmask: The fields that should be updated. At least one field must be specified. The root `tableColumnProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the column width, set `fields` to `"width"`.
      - `tableColumnProperties` TableColumnProperties: The properties of a column in a table.
        - `width` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `widthType` 'WIDTH_TYPE_UNSPECIFIED' | 'EVENLY_DISTRIBUTED' | 'FIXED_WIDTH': The width type of the column.
      - `tableStartLocation` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `updateTableRowStyle` UpdateTableRowStyleRequest: Updates the TableRowStyle of rows in a table.
      - `fields` string, google-fieldmask: The fields that should be updated. At least one field must be specified. The root `tableRowStyle` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the minimum row height, set `fields` to `"min_row_height"`.
      - `rowIndices` integer[]: The list of zero-based row indices whose style should be updated. If no indices are specified, all rows will be updated.
      - `tableRowStyle` TableRowStyle: Styles that apply to a table row.
        - `minRowHeight` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `preventOverflow` boolean: Whether the row cannot overflow across page or column boundaries.
        - `tableHeader` boolean: Whether the row is a table header.
      - `tableStartLocation` Location: A particular location in the document.
        - `index` integer: The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.
        - `segmentId` string: The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
        - `tabId` string: The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
    - `updateTextStyle` UpdateTextStyleRequest: Update the styling of text.
      - `fields` string, google-fieldmask: The fields that should be updated. At least one field must be specified. The root `text_style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example, to update the text style to bold, set `fields` to `"bold"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
      - `range` Range: Specifies a contiguous range of text.
        - `endIndex` integer: The zero-based end index of this range, exclusive, in UTF-16 code units. In all current uses, an end index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `segmentId` string: The ID of the header, footer, or footnote that this range is contained in. An empty segment ID signifies the document's body.
        - `startIndex` integer: The zero-based start index of this range, in UTF-16 code units. In all current uses, a start index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.
        - `tabId` string: The tab that contains this range. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document.
      - `textStyle` TextStyle: Represents the styling that can be applied to text. Inherited text styles are represented as unset fields in this message. A text style's parent depends on where the text style is defined: * The TextStyle of text in a Paragraph inherits from the paragraph's corresponding named style type. * The TextStyle on a named style inherits from the normal text named style. * The TextStyle of the normal text named style inherits from the default text style in the Docs editor. * The TextStyle on a Paragraph element that's contained in a table may inherit its text style from the table style. If the text style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.
        - `backgroundColor` OptionalColor: A color that can either be fully opaque or fully transparent.
          - `color` Color: A solid color.
            - `rgbColor` RgbColor: An RGB color.
              - …
        - `baselineOffset` 'BASELINE_OFFSET_UNSPECIFIED' | 'NONE' | 'SUPERSCRIPT' | 'SUBSCRIPT': The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. Changes in this field don't affect the `font_size`.
        - `bold` boolean: Whether or not the text is rendered as bold.
        - `fontSize` Dimension: A magnitude in a single direction in the specified units.
          - `magnitude` number, double: The magnitude.
          - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
        - `foregroundColor` OptionalColor: A color that can either be fully opaque or fully transparent.
          - `color` Color: A solid color.
            - `rgbColor` RgbColor: An RGB color.
              - …
        - `italic` boolean: Whether or not the text is italicized.
        - `link` Link: A reference to another portion of a document or an external URL resource.
          - `bookmark` BookmarkLink: A reference to a bookmark in this document.
            - `id` string: The ID of a bookmark in this document.
            - `tabId` string: The ID of the tab containing this bookmark.
          - `bookmarkId` string: The ID of a bookmark in this document. Legacy field: Instead, set includeTabsContent to `true` and use Link.bookmark for read and write operations. This field is only returned when includeTabsContent is set to `false` in documents containing a single tab and links to a bookmark within the singular tab. Otherwise, Link.bookmark is returned. If this field is used in a write request, the bookmark is considered to be from the tab ID specified in the request. If a tab ID is not specified in the request, it is considered to be from the first tab in the document.
          - `heading` HeadingLink: A reference to a heading in this document.
            - `id` string: The ID of a heading in this document.
            - `tabId` string: The ID of the tab containing this heading.
          - `headingId` string: The ID of a heading in this document. Legacy field: Instead, set includeTabsContent to `true` and use Link.heading for read and write operations. This field is only returned when includeTabsContent is set to `false` in documents containing a single tab and links to a heading within the singular tab. Otherwise, Link.heading is returned. If this field is used in a write request, the heading is considered to be from the tab ID specified in the request. If a tab ID is not specified in the request, it is considered to be from the first tab in the document.
          - `tabId` string: The ID of a tab in this document.
          - `url` string: An external URL.
        - `smallCaps` boolean: Whether or not the text is in small capital letters.
        - `strikethrough` boolean: Whether or not the text is struck through.
        - `underline` boolean: Whether or not the text is underlined.
        - `weightedFontFamily` WeightedFontFamily: Represents a font family and weight of text.
          - `fontFamily` string: The font family of the text. The font family can be any font from the Font menu in Docs or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
          - `weight` integer: The weight of the font. This field can have any value that's a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. The default value is `400` ("normal"). The font weight makes up just one component of the rendered font weight. A combination of the `weight` and the text style's resolved `bold` value determine the rendered weight, after accounting for inheritance: * If the text is bold and the weight is less than `400`, the rendered weight is 400. * If the text is bold and the weight is greater than or equal to `400` but is less than `700`, the rendered weight is `700`. * If the weight is greater than or equal to `700`, the rendered weight is equal to the weight. * If the text is not bold, the rendered weight is equal to the weight.
  - `writeControl` WriteControl: Provides control over how write requests are executed.
    - `requiredRevisionId` string: The optional revision ID of the document the write request is applied to. If this is not the latest revision of the document, the request is not processed and returns a 400 bad request error. When a required revision ID is returned in a response, it indicates the revision ID of the document after the request was applied.
    - `targetRevisionId` string: The optional target revision ID of the document the write request is applied to. If collaborator changes have occurred after the document was read using the API, the changes produced by this write request are applied against the collaborator changes. This results in a new revision of the document that incorporates both the collaborator changes and the changes in the request, with the Docs server resolving conflicting changes. When using target revision ID, the API client can be thought of as another collaborator of the document. The target revision ID can only be used to write to recent versions of a document. 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 should be tried again after retrieving the latest version of the document. Usually a revision ID remains valid for use as a target revision for several minutes after it's read, but for frequently edited documents this window might be shorter.
    - `writeMode` 'WRITE_MODE_UNSPECIFIED' | 'EDIT' | 'SUGGEST': How the request updates should be applied to the document. If unspecified, the request updates will be applied as normal edits.

## Response `200`

Successful response

- BatchUpdateDocumentResponse: Response message from a BatchUpdateDocument request.
  - `commentUpdateState` 'COMMENT_UPDATE_STATE_UNSPECIFIED' | 'NO_UPDATES_REQUESTED' | 'ALL_SAVED' | 'ALL_FAILED_UNKNOWN_REASON': Whether comment updates were applied in the batch request.
  - `documentId` string: The ID of the document to which the updates were applied to.
  - `replies` Response[]: The reply of the updates. This maps 1:1 with the updates, although replies to some requests may be empty.
    - `addCommentReply` AddCommentReplyResponse: Response message for adding a reply.
      - `post` Post: Represents a single post in a comment or suggestion thread.
        - `assigneeEmail` string: Optional. The email of the user who is being newly assigned to the thread as part of this post. Returns a 400 bad request error if: - The parent thread is a CommentThread whose headPost does not have an assignee. - The parent thread is a SuggestionThread. - commentAction is specified as `RESOLVE` or `REOPEN`. - `assigneeEmail` exceeds 2048 UTF-8 code units.
        - `author` PostAuthor: Represents a user who authored a comment or suggestion post.
          - `anonymous` boolean: Whether the user is anonymous.
          - `displayName` string: The display name of the user. May be absent if the author is anonymous.
          - `me` boolean: Whether the user is the authenticated user making the request.
          - `user` string: The resource name of the post author user, which can also be used to identify the user in the [Google People API](https://developers.google.com/people/api/rest/v1/people). Format: `users/{user}`. Will not be populated if the anonymous field is `true` or if the post is from an imported document.
        - `commentAction` 'COMMENT_ACTION_TYPE_UNSPECIFIED' | 'NO_COMMENT_ACTION_CHANGE' | 'RESOLVE' | 'REOPEN': Optional. The action type for comment posts.
        - `content` string: The content of the post. Required to be non-empty if commentAction is not `RESOLVE` or `REOPEN`. This text content will be handled similarly to comments created in the Docs editor. It will have similar behaviors for formatting, notifications, etc. May not exceed 2048 UTF-8 code units.
        - `contentHtml` string: Output only. The content of the post as HTML.
        - `createTime` string, google-datetime: Output only. The time the post was created.
        - `deleted` boolean: Output only. Whether the post is deleted. If `true`, content and author fields will be empty.
        - `fromCopiedDocument` boolean: Output only. Whether the post is from a copied document. This field cannot be set directly by callers.
        - `fromDocumentComparison` boolean: Output only. Whether the post is from a document comparison. This field cannot be set directly by callers.
        - `fromImportedDocument` boolean: Output only. Whether the post is from an imported document. This field cannot be set directly by callers.
        - `postId` string: Output only. The unique ID of the post.
        - `suggestionAction` 'SUGGESTION_ACTION_TYPE_UNSPECIFIED' | 'NO_SUGGESTION_ACTION_CHANGE' | 'ACCEPT' | 'REJECT': Output only. The action type for suggestion posts.
        - `updateTime` string, google-datetime: Output only. The time the post was last updated.
    - `addDocumentTab` AddDocumentTabResponse: The result of adding a document tab.
      - `tabProperties` TabProperties: Properties of a tab.
        - `iconEmoji` string: Optional. The emoji icon displayed with the tab. A valid emoji icon is represented by a non-empty Unicode string. Any set of characters that don't represent a single emoji is invalid. If an emoji is invalid, a 400 bad request error is returned. If this value is unset or empty, the tab will display the default tab icon.
        - `index` integer: The zero-based index of the tab within the parent.
        - `nestingLevel` integer: Output only. The depth of the tab within the document. Root-level tabs start at 0.
        - `parentTabId` string: Optional. The ID of the parent tab. Empty when the current tab is a root-level tab, which means it doesn't have any parents.
        - `tabId` string: The immutable ID of the tab.
        - `title` string: The user-visible name of the tab.
    - `createDropdownDefinition` CreateDropdownDefinitionResponse: Response message for creating a dropdown definition.
      - `dropdownDefinition` DropdownDefinition: A dropdown definition in the document.
        - `dropdownDefinitionId` string: The ID of this dropdown definition. If you specify an ID, it must be unique among all IDs in the tab. The ID must start with `kix.` and match regex `^kix\.[a-zA-Z0-9_-]{2,14}$` (length 6-18 chars). If you don't specify an ID, a unique one is generated.
        - `dropdownDefinitionProperties` DropdownDefinitionProperties: Properties of a dropdown definition.
          - `options` DropdownOption[]: The list of options defined by this dropdown definition. A dropdown definition must have at least 2 options and at most 50 options.
            - `displayValue` string: The display value of this dropdown option.
            - `optionId` string: The ID of this dropdown option. If you specify an ID, it must be unique among all options in this dropdown definition. The ID must start with `dropdownItem.` and match regex `^dropdownItem\.[a-zA-Z0-9_-]{2,14}$` (length 15-27 chars). If you don't specify an ID, a unique one is generated.
            - `textStyle` TextStyle: Represents the styling that can be applied to text. Inherited text styles are represented as unset fields in this message. A text style's parent depends on where the text style is defined: * The TextStyle of text in a Paragraph inherits from the paragraph's corresponding named style type. * The TextStyle on a named style inherits from the normal text named style. * The TextStyle of the normal text named style inherits from the default text style in the Docs editor. * The TextStyle on a Paragraph element that's contained in a table may inherit its text style from the table style. If the text style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.
              - …
          - `title` string: The title of the dropdown definition.
        - `suggestedDeletionId` string: ID for suggestion that deletes this dropdown definition.
        - `suggestedDropdownDefinitionPropertiesChanges` object: Suggested property changes to this definition, keyed by suggestion ID.
        - `suggestedInsertionId` string: ID for suggestion that inserts this dropdown definition.
    - `createFooter` CreateFooterResponse: The result of creating a footer.
      - `footerId` string: The ID of the created footer.
    - `createFootnote` CreateFootnoteResponse: The result of creating a footnote.
      - `footnoteId` string: The ID of the created footnote.
    - `createHeader` CreateHeaderResponse: The result of creating a header.
      - `headerId` string: The ID of the created header.
    - `createNamedRange` CreateNamedRangeResponse: The result of creating a named range.
      - `namedRangeId` string: The ID of the created named range.
    - `insertComment` InsertCommentResponse: Response message for inserting a comment.
      - `commentThread` CommentThread: Represents a single comment thread.
        - `anchorId` string: The ID of the CommentAnchor in the document that this thread is tied to. Multiple comment threads may be anchored to the same CommentAnchor.
        - `commentId` string: The unique ID of the comment thread.
        - `headPost` Post: Represents a single post in a comment or suggestion thread.
          - `assigneeEmail` string: Optional. The email of the user who is being newly assigned to the thread as part of this post. Returns a 400 bad request error if: - The parent thread is a CommentThread whose headPost does not have an assignee. - The parent thread is a SuggestionThread. - commentAction is specified as `RESOLVE` or `REOPEN`. - `assigneeEmail` exceeds 2048 UTF-8 code units.
          - `author` PostAuthor: Represents a user who authored a comment or suggestion post.
            - `anonymous` boolean: Whether the user is anonymous.
            - `displayName` string: The display name of the user. May be absent if the author is anonymous.
            - `me` boolean: Whether the user is the authenticated user making the request.
            - `user` string: The resource name of the post author user, which can also be used to identify the user in the [Google People API](https://developers.google.com/people/api/rest/v1/people). Format: `users/{user}`. Will not be populated if the anonymous field is `true` or if the post is from an imported document.
          - `commentAction` 'COMMENT_ACTION_TYPE_UNSPECIFIED' | 'NO_COMMENT_ACTION_CHANGE' | 'RESOLVE' | 'REOPEN': Optional. The action type for comment posts.
          - `content` string: The content of the post. Required to be non-empty if commentAction is not `RESOLVE` or `REOPEN`. This text content will be handled similarly to comments created in the Docs editor. It will have similar behaviors for formatting, notifications, etc. May not exceed 2048 UTF-8 code units.
          - `contentHtml` string: Output only. The content of the post as HTML.
          - `createTime` string, google-datetime: Output only. The time the post was created.
          - `deleted` boolean: Output only. Whether the post is deleted. If `true`, content and author fields will be empty.
          - `fromCopiedDocument` boolean: Output only. Whether the post is from a copied document. This field cannot be set directly by callers.
          - `fromDocumentComparison` boolean: Output only. Whether the post is from a document comparison. This field cannot be set directly by callers.
          - `fromImportedDocument` boolean: Output only. Whether the post is from an imported document. This field cannot be set directly by callers.
          - `postId` string: Output only. The unique ID of the post.
          - `suggestionAction` 'SUGGESTION_ACTION_TYPE_UNSPECIFIED' | 'NO_SUGGESTION_ACTION_CHANGE' | 'ACCEPT' | 'REJECT': Output only. The action type for suggestion posts.
          - `updateTime` string, google-datetime: Output only. The time the post was last updated.
        - `plainTextQuote` string: The quoted text from the document when the comment was created, formatted as plain-text.
        - `replies` Post[]: Replies to the head post.
          - `assigneeEmail` string: Optional. The email of the user who is being newly assigned to the thread as part of this post. Returns a 400 bad request error if: - The parent thread is a CommentThread whose headPost does not have an assignee. - The parent thread is a SuggestionThread. - commentAction is specified as `RESOLVE` or `REOPEN`. - `assigneeEmail` exceeds 2048 UTF-8 code units.
          - `author` PostAuthor: Represents a user who authored a comment or suggestion post.
            - `anonymous` boolean: Whether the user is anonymous.
            - `displayName` string: The display name of the user. May be absent if the author is anonymous.
            - `me` boolean: Whether the user is the authenticated user making the request.
            - `user` string: The resource name of the post author user, which can also be used to identify the user in the [Google People API](https://developers.google.com/people/api/rest/v1/people). Format: `users/{user}`. Will not be populated if the anonymous field is `true` or if the post is from an imported document.
          - `commentAction` 'COMMENT_ACTION_TYPE_UNSPECIFIED' | 'NO_COMMENT_ACTION_CHANGE' | 'RESOLVE' | 'REOPEN': Optional. The action type for comment posts.
          - `content` string: The content of the post. Required to be non-empty if commentAction is not `RESOLVE` or `REOPEN`. This text content will be handled similarly to comments created in the Docs editor. It will have similar behaviors for formatting, notifications, etc. May not exceed 2048 UTF-8 code units.
          - `contentHtml` string: Output only. The content of the post as HTML.
          - `createTime` string, google-datetime: Output only. The time the post was created.
          - `deleted` boolean: Output only. Whether the post is deleted. If `true`, content and author fields will be empty.
          - `fromCopiedDocument` boolean: Output only. Whether the post is from a copied document. This field cannot be set directly by callers.
          - `fromDocumentComparison` boolean: Output only. Whether the post is from a document comparison. This field cannot be set directly by callers.
          - `fromImportedDocument` boolean: Output only. Whether the post is from an imported document. This field cannot be set directly by callers.
          - `postId` string: Output only. The unique ID of the post.
          - `suggestionAction` 'SUGGESTION_ACTION_TYPE_UNSPECIFIED' | 'NO_SUGGESTION_ACTION_CHANGE' | 'ACCEPT' | 'REJECT': Output only. The action type for suggestion posts.
          - `updateTime` string, google-datetime: Output only. The time the post was last updated.
        - `status` 'STATUS_UNSPECIFIED' | 'OPEN' | 'RESOLVED': Whether the thread is open or resolved.
    - `insertDropdown` InsertDropdownResponse: The result of inserting a Dropdown.
      - `dropdown` Dropdown: A dropdown in the document. The chip is displayed as a dropdown menu that allows users to select an option from a configurable list of options.
        - `dropdownId` string: The ID of this dropdown.
        - `dropdownProperties` DropdownProperties: Properties specific to a dropdown.
          - `displayValue` string: The human-readable display text of the currently selected item. This field is populated by the server based on the dropdown definition and the selected option ID. It may differ from `DropdownOption.display_value` if the underlying option definition was modified or deleted, or during pending suggested changes.
          - `dropdownDefinitionId` string: The ID of the DropdownDefinition that defines the options for this dropdown.
          - `selectedOptionId` string: The ID of the selected option in this dropdown.
        - `suggestedDeletionIds` string[]: IDs for suggestions that remove this dropdown from the document. If empty, then this dropdown isn't suggested for deletion.
        - `suggestedDropdownPropertiesChanges` object: The suggested properties changes to this dropdown, keyed by suggestion ID.
        - `suggestedInsertionIds` string[]: IDs for suggestions that insert this dropdown into the document. If empty, then this dropdown isn't a suggested insertion.
        - `suggestedTextStyleChanges` object: The suggested text style changes to this dropdown, keyed by suggestion ID.
        - `textStyle` TextStyle: Represents the styling that can be applied to text. Inherited text styles are represented as unset fields in this message. A text style's parent depends on where the text style is defined: * The TextStyle of text in a Paragraph inherits from the paragraph's corresponding named style type. * The TextStyle on a named style inherits from the normal text named style. * The TextStyle of the normal text named style inherits from the default text style in the Docs editor. * The TextStyle on a Paragraph element that's contained in a table may inherit its text style from the table style. If the text style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.
          - `backgroundColor` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `baselineOffset` 'BASELINE_OFFSET_UNSPECIFIED' | 'NONE' | 'SUPERSCRIPT' | 'SUBSCRIPT': The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. Changes in this field don't affect the `font_size`.
          - `bold` boolean: Whether or not the text is rendered as bold.
          - `fontSize` Dimension: A magnitude in a single direction in the specified units.
            - `magnitude` number, double: The magnitude.
            - `unit` 'UNIT_UNSPECIFIED' | 'PT': The units for magnitude.
          - `foregroundColor` OptionalColor: A color that can either be fully opaque or fully transparent.
            - `color` Color: A solid color.
              - …
          - `italic` boolean: Whether or not the text is italicized.
          - `link` Link: A reference to another portion of a document or an external URL resource.
            - `bookmark` BookmarkLink: A reference to a bookmark in this document.
              - …
            - `bookmarkId` string: The ID of a bookmark in this document. Legacy field: Instead, set includeTabsContent to `true` and use Link.bookmark for read and write operations. This field is only returned when includeTabsContent is set to `false` in documents containing a single tab and links to a bookmark within the singular tab. Otherwise, Link.bookmark is returned. If this field is used in a write request, the bookmark is considered to be from the tab ID specified in the request. If a tab ID is not specified in the request, it is considered to be from the first tab in the document.
            - `heading` HeadingLink: A reference to a heading in this document.
              - …
            - `headingId` string: The ID of a heading in this document. Legacy field: Instead, set includeTabsContent to `true` and use Link.heading for read and write operations. This field is only returned when includeTabsContent is set to `false` in documents containing a single tab and links to a heading within the singular tab. Otherwise, Link.heading is returned. If this field is used in a write request, the heading is considered to be from the tab ID specified in the request. If a tab ID is not specified in the request, it is considered to be from the first tab in the document.
            - `tabId` string: The ID of a tab in this document.
            - `url` string: An external URL.
          - `smallCaps` boolean: Whether or not the text is in small capital letters.
          - `strikethrough` boolean: Whether or not the text is struck through.
          - `underline` boolean: Whether or not the text is underlined.
          - `weightedFontFamily` WeightedFontFamily: Represents a font family and weight of text.
            - `fontFamily` string: The font family of the text. The font family can be any font from the Font menu in Docs or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
            - `weight` integer: The weight of the font. This field can have any value that's a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. The default value is `400` ("normal"). The font weight makes up just one component of the rendered font weight. A combination of the `weight` and the text style's resolved `bold` value determine the rendered weight, after accounting for inheritance: * If the text is bold and the weight is less than `400`, the rendered weight is 400. * If the text is bold and the weight is greater than or equal to `400` but is less than `700`, the rendered weight is `700`. * If the weight is greater than or equal to `700`, the rendered weight is equal to the weight. * If the text is not bold, the rendered weight is equal to the weight.
    - `insertInlineImage` InsertInlineImageResponse: The result of inserting an inline image.
      - `objectId` string: The ID of the created InlineObject.
    - `insertInlineSheetsChart` InsertInlineSheetsChartResponse: The result of inserting an embedded Google Sheets chart.
      - `objectId` string: The object ID of the inserted chart.
    - `replaceAllText` ReplaceAllTextResponse: The result of replacing text.
      - `occurrencesChanged` integer: The number of occurrences changed by replacing all text.
  - `suggestionResponses` SuggestionResponse[]: The suggestions which were affected by each update. This maps 1:1 with the updates.
    - `acceptedSuggestionIds` string[]: The IDs of suggestions which were accepted during the update.
    - `createdSuggestionIds` string[]: The IDs of suggestions which were created during the update.
    - `deletedSuggestionIds` string[]: The IDs of suggestions which were deleted during the update.
    - `rejectedSuggestionIds` string[]: The IDs of suggestions which were rejected during the update.
    - `updatedSummarySuggestionIds` string[]: The IDs of suggestions whose summaries were updated during the update.
  - `writeControl` WriteControl: Provides control over how write requests are executed.
    - `requiredRevisionId` string: The optional revision ID of the document the write request is applied to. If this is not the latest revision of the document, the request is not processed and returns a 400 bad request error. When a required revision ID is returned in a response, it indicates the revision ID of the document after the request was applied.
    - `targetRevisionId` string: The optional target revision ID of the document the write request is applied to. If collaborator changes have occurred after the document was read using the API, the changes produced by this write request are applied against the collaborator changes. This results in a new revision of the document that incorporates both the collaborator changes and the changes in the request, with the Docs server resolving conflicting changes. When using target revision ID, the API client can be thought of as another collaborator of the document. The target revision ID can only be used to write to recent versions of a document. 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 should be tried again after retrieving the latest version of the document. Usually a revision ID remains valid for use as a target revision for several minutes after it's read, but for frequently edited documents this window might be shorter.
    - `writeMode` 'WRITE_MODE_UNSPECIFIED' | 'EDIT' | 'SUGGEST': How the request updates should be applied to the document. If unspecified, the request updates will be applied as normal edits.

## Changes

- **2026-10-10** `fa5b0cc0317c`: 2 breaking, 4 info
  - removed the request body
  - removed the media type `*/*` for the response with the status `200`
  - the security scope `https://www.googleapis.com/auth/documents` was added to the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/documents` was added to the endpoint's security scheme `Oauth2c`
  - …2 more
- **2026-10-10** `0cd410015119`: 25 info
  - the security scope `https://www.googleapis.com/auth/documents` was added to the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/documents` was added to the endpoint's security scheme `Oauth2c`
  - the security scope `https://www.googleapis.com/auth/drive.file` was removed from the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/drive.file` was removed from the endpoint's security scheme `Oauth2c`
  - …21 more

[Operation history](https://skmtc.dev/google/apis/google-docs-api/changes/v1/documents/:documentId:batchUpdate/post.md)

---

[API](https://skmtc.dev/google/apis/google-docs-api.md) - [All operations](https://skmtc.dev/google/apis/google-docs-api/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/google-docs-api/revisions/db8c2f815a8a?raw)
