---
title: "POST /v1/documents"
method: POST
path: "/v1/documents"
tags: ["documents"]
---

# POST /v1/documents

`POST /v1/documents`

## Request

- Base URL: `https://docs.googleapis.com`
- URL: `https://docs.googleapis.com/v1/documents`
- 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`

Creates a blank document using the title given in the request. Other fields in the request, including any provided content, are ignored. Returns the created document.

## Request body

- Document: A Google Docs document.
  - `body` Body: The document body. The body typically contains the full document contents except for headers, footers, and footnotes.
    - `content` StructuralElement[]: The contents of the body. The indexes for the body's content begin at zero.
      - `endIndex` integer: The zero-based end index of this structural element, exclusive, in UTF-16 code units.
      - `paragraph` Paragraph: A StructuralElement representing a paragraph. A paragraph is a range of content that's terminated with a newline character.
        - `bullet` Bullet: Describes the bullet of a paragraph.
          - `listId` string: The ID of the list this paragraph belongs to.
          - `nestingLevel` integer: The nesting level of this paragraph in the list.
          - `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.
              - …
        - `elements` ParagraphElement[]: The content of the paragraph, broken down into its component parts.
          - `autoText` AutoText: A ParagraphElement representing a spot in the text that's dynamically replaced with content that can change over time, like a page number.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. An AutoText may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this AutoText, 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.
              - …
            - `type` 'TYPE_UNSPECIFIED' | 'PAGE_NUMBER' | 'PAGE_COUNT': The type of this auto text.
          - `columnBreak` ColumnBreak: A ParagraphElement representing a column break. A column break makes the subsequent text start at the top of the next column.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A ColumnBreak may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this ColumnBreak, 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.
              - …
          - `dateElement` DateElement: A date instance mentioned in a document.
            - `dateElementProperties` DateElementProperties: Properties of a DateElement.
              - …
            - `dateId` string: Output only. The unique ID of this date.
            - `suggestedDateElementPropertiesChanges` object: The suggested changes to the date element properties, keyed by suggestion ID.
            - `suggestedDeletionIds` string[]: IDs for suggestions that remove this date from the document. A DateElement might have multiple deletion IDs if, for example, multiple users suggest deleting it. If empty, then this date isn't suggested for deletion.
            - `suggestedInsertionIds` string[]: IDs for suggestions that insert this date into the document. A DateElement might have multiple insertion IDs if it's a nested suggested change (a suggestion within a suggestion made by a different user, for example). If empty, then this date isn't a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this DateElement, 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.
              - …
          - `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.
              - …
            - `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.
              - …
          - `endIndex` integer: The zero-base end index of this paragraph element, exclusive, in UTF-16 code units.
          - `equation` Equation: A ParagraphElement representing an equation.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. An Equation may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
          - `footnoteReference` FootnoteReference: A ParagraphElement representing a footnote reference. A footnote reference is the inline content rendered with a number and is used to identify the footnote.
            - `footnoteId` string: The ID of the footnote that contains the content of this footnote reference.
            - `footnoteNumber` string: The rendered number of this footnote.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A FootnoteReference may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this FootnoteReference, 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.
              - …
          - `horizontalRule` HorizontalRule: A ParagraphElement representing a horizontal line.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A HorizontalRule may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this HorizontalRule, 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.
              - …
          - `inlineObjectElement` InlineObjectElement: A ParagraphElement that contains an InlineObject.
            - `inlineObjectId` string: The ID of the InlineObject this element contains.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. An InlineObjectElement may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this InlineObject, 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.
              - …
          - `pageBreak` PageBreak: A ParagraphElement representing a page break. A page break makes the subsequent text start at the top of the next page.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A PageBreak may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this PageBreak, 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.
              - …
          - `person` Person: A person or email address mentioned in a document. These mentions behave as a single, immutable element containing the person's name or email address.
            - `personId` string: Output only. The unique ID of this link.
            - `personProperties` PersonProperties: Properties specific to a linked Person.
              - …
            - `suggestedDeletionIds` string[]: IDs for suggestions that remove this person link from the document. A Person might have multiple deletion IDs if, for example, multiple users suggest deleting it. If empty, then this person link isn't suggested for deletion.
            - `suggestedInsertionIds` string[]: IDs for suggestions that insert this person link into the document. A Person might have multiple insertion IDs if it's a nested suggested change (a suggestion within a suggestion made by a different user, for example). If empty, then this person link isn't a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this Person, 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.
              - …
          - `richLink` RichLink: A link to a Google resource (such as a file in Drive, a YouTube video, or a Calendar event).
            - `richLinkId` string: Output only. The ID of this link.
            - `richLinkProperties` RichLinkProperties: Properties specific to a RichLink.
              - …
            - `suggestedDeletionIds` string[]: IDs for suggestions that remove this link from the document. A RichLink might have multiple deletion IDs if, for example, multiple users suggest deleting it. If empty, then this person link isn't suggested for deletion.
            - `suggestedInsertionIds` string[]: IDs for suggestions that insert this link into the document. A RichLink might have multiple insertion IDs if it's a nested suggested change (a suggestion within a suggestion made by a different user, for example). If empty, then this person link isn't a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this RichLink, 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.
              - …
          - `startIndex` integer: The zero-based start index of this paragraph element, in UTF-16 code units.
          - `textRun` TextRun: A ParagraphElement that represents a run of text that all has the same styling.
            - `content` string: The text of this run. Any non-text elements in the run are replaced with the Unicode character U+E907.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A TextRun may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this run, 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.
              - …
        - `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.
              - …
        - `positionedObjectIds` string[]: The IDs of the positioned objects tethered to this paragraph.
        - `suggestedBulletChanges` object: The suggested changes to this paragraph's bullet.
        - `suggestedParagraphStyleChanges` object: The suggested paragraph style changes to this paragraph, keyed by suggestion ID.
        - `suggestedPositionedObjectIds` object: The IDs of the positioned objects suggested to be attached to this paragraph, keyed by suggestion ID.
      - `sectionBreak` SectionBreak: A StructuralElement representing a section break. A section is a range of content that has the same SectionStyle. A section break represents the start of a new section, and the section style applies to the section after the section break. The document body always begins with a section break.
        - `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.
              - …
            - `width` Dimension: A magnitude in a single direction in the specified units.
              - …
          - `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.
        - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
        - `suggestedInsertionIds` string[]: The suggested insertion IDs. A SectionBreak may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
      - `startIndex` integer: The zero-based start index of this structural element, in UTF-16 code units.
      - `table` Table: A StructuralElement representing a table.
        - `columns` integer: Number of columns in the table. It's possible for a table to be non-rectangular, so some rows may have a different number of cells.
        - `rows` integer: Number of rows in the table.
        - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
        - `suggestedInsertionIds` string[]: The suggested insertion IDs. A Table may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
        - `tableRows` TableRow[]: The contents and style of each row.
          - `endIndex` integer: The zero-based end index of this row, exclusive, in UTF-16 code units.
          - `startIndex` integer: The zero-based start index of this row, in UTF-16 code units.
          - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
          - `suggestedInsertionIds` string[]: The suggested insertion IDs. A TableRow may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
          - `suggestedTableRowStyleChanges` object: The suggested style changes to this row, keyed by suggestion ID.
          - `tableCells` TableCell[]: The contents and style of each cell in this row. It's possible for a table to be non-rectangular, so some rows may have a different number of cells than other rows in the same table.
            - `content` StructuralElement[]: The content of the cell.
            - `endIndex` integer: The zero-based end index of this cell, exclusive, in UTF-16 code units.
            - `startIndex` integer: The zero-based start index of this cell, in UTF-16 code units.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A TableCell may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTableCellStyleChanges` object: The suggested changes to the table cell style, keyed by suggestion ID.
            - `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.
              - …
          - `tableRowStyle` TableRowStyle: Styles that apply to a table row.
            - `minRowHeight` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `preventOverflow` boolean: Whether the row cannot overflow across page or column boundaries.
            - `tableHeader` boolean: Whether the row is a table header.
        - `tableStyle` TableStyle: Styles that apply to a table.
          - `tableColumnProperties` TableColumnProperties[]: The properties of each column. Note that in Docs, tables contain rows and rows contain cells, similar to HTML. So the properties for a row can be found on the row's table_row_style.
            - `width` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `widthType` 'WIDTH_TYPE_UNSPECIFIED' | 'EVENLY_DISTRIBUTED' | 'FIXED_WIDTH': The width type of the column.
      - `tableOfContents` TableOfContents: A StructuralElement representing a table of contents.
        - `content` StructuralElement[]: The content of the table of contents.
        - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
        - `suggestedInsertionIds` string[]: The suggested insertion IDs. A TableOfContents may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.
  - `comments` CommentThread[]: Output only. The comments associated with the document. Only populated if the commentsViewMode parameter is set to require comments (such as `COMMENTS_VIEW_MODE_INCLUDED`).
    - `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.
  - `commentsViewMode` 'COMMENTS_VIEW_MODE_UNSPECIFIED' | 'COMMENTS_VIEW_MODE_DEFAULT_FOR_CURRENT_ACCESS' | 'COMMENTS_VIEW_MODE_OMITTED' | 'COMMENTS_VIEW_MODE_INCLUDED': Output only. The comments view mode applied to the document.
  - `documentId` string: Output only. The ID of the document.
  - `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.
          - `rgbColor` RgbColor: An RGB color.
            - `blue` number, float: The blue component of the color, from 0.0 to 1.0.
            - `green` number, float: The green component of the color, from 0.0 to 1.0.
            - `red` number, float: The red component of the color, from 0.0 to 1.0.
    - `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.
  - `footers` object: Output only. The footers in the document, keyed by footer ID. Legacy field: Instead, use Document.tabs.documentTab.footers, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `footnotes` object: Output only. The footnotes in the document, keyed by footnote ID. Legacy field: Instead, use Document.tabs.documentTab.footnotes, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `headers` object: Output only. The headers in the document, keyed by header ID. Legacy field: Instead, use Document.tabs.documentTab.headers, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `inlineObjects` object: Output only. The inline objects in the document, keyed by object ID. Legacy field: Instead, use Document.tabs.documentTab.inlineObjects, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `lists` object: Output only. The lists in the document, keyed by list ID. Legacy field: Instead, use Document.tabs.documentTab.lists, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `namedRanges` object: Output only. The named ranges in the document, keyed by name. Legacy field: Instead, use Document.tabs.documentTab.namedRanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `namedStyles` NamedStyles: The named styles. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from these named styles.
    - `styles` NamedStyle[]: The named styles. There's an entry for each of the possible named style types.
      - `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.
            - `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.
      - `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.
  - `positionedObjects` object: Output only. The positioned objects in the document, keyed by object ID. Legacy field: Instead, use Document.tabs.documentTab.positionedObjects, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `revisionId` string: Output only. The revision ID of the document. Can be used in update requests to specify which revision of a document to apply updates to and how the request should behave if the document has been edited since that revision. Only populated if the user has edit access to the document. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the document has not changed. Conversely, a changed ID (for the same document and user) usually means the document has been updated. However, a changed ID can also be due to internal factors such as ID format changes.
  - `suggestedDocumentStyleChanges` object: Output only. The suggested changes to the style of the document, keyed by suggestion ID. Legacy field: Instead, use Document.tabs.documentTab.suggestedDocumentStyleChanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `suggestedNamedStylesChanges` object: Output only. The suggested changes to the named styles of the document, keyed by suggestion ID. Legacy field: Instead, use Document.tabs.documentTab.suggestedNamedStylesChanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `suggestions` SuggestionThread[]: Output only. The suggestions associated with the document. Only populated if the commentsViewMode parameter is set to require comments (such as `COMMENTS_VIEW_MODE_INCLUDED`).
    - `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.
    - `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' | 'ACCEPTED' | 'REJECTED': Whether the thread is open, accepted, or rejected.
    - `suggestionId` string: The unique ID of the suggestion.
    - `summaryHtml` string: Summary of the suggested differences in the document, in HTML. May be empty.
    - `summaryText` string: Summary of the suggested differences in the document, in plain text. May be empty.
  - `suggestionsViewMode` 'DEFAULT_FOR_CURRENT_ACCESS' | 'SUGGESTIONS_INLINE' | 'PREVIEW_SUGGESTIONS_ACCEPTED' | 'PREVIEW_WITHOUT_SUGGESTIONS': Output only. The suggestions view mode applied to the document. Note: When editing a document, changes must be based on a document with SUGGESTIONS_INLINE.
  - `tabs` Tab[]: Output only. Tabs that are part of a document. Tabs can contain child tabs, a tab nested within another tab. Child tabs are represented by the Tab.childTabs field.
    - `childTabs` Tab[]: The child tabs nested within this tab.
    - `documentTab` DocumentTab: A tab with document contents.
      - `body` Body: The document body. The body typically contains the full document contents except for headers, footers, and footnotes.
        - `content` StructuralElement[]: The contents of the body. The indexes for the body's content begin at zero.
          - `endIndex` integer: The zero-based end index of this structural element, exclusive, in UTF-16 code units.
          - `paragraph` Paragraph: A StructuralElement representing a paragraph. A paragraph is a range of content that's terminated with a newline character.
            - `bullet` Bullet: Describes the bullet of a paragraph.
              - …
            - `elements` ParagraphElement[]: The content of the paragraph, broken down into its component parts.
              - …
            - `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.
              - …
            - `positionedObjectIds` string[]: The IDs of the positioned objects tethered to this paragraph.
            - `suggestedBulletChanges` object: The suggested changes to this paragraph's bullet.
            - `suggestedParagraphStyleChanges` object: The suggested paragraph style changes to this paragraph, keyed by suggestion ID.
            - `suggestedPositionedObjectIds` object: The IDs of the positioned objects suggested to be attached to this paragraph, keyed by suggestion ID.
          - `sectionBreak` SectionBreak: A StructuralElement representing a section break. A section is a range of content that has the same SectionStyle. A section break represents the start of a new section, and the section style applies to the section after the section break. The document body always begins with a section break.
            - `sectionStyle` SectionStyle: The styling that applies to a section.
              - …
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A SectionBreak may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
          - `startIndex` integer: The zero-based start index of this structural element, in UTF-16 code units.
          - `table` Table: A StructuralElement representing a table.
            - `columns` integer: Number of columns in the table. It's possible for a table to be non-rectangular, so some rows may have a different number of cells.
            - `rows` integer: Number of rows in the table.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A Table may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `tableRows` TableRow[]: The contents and style of each row.
              - …
            - `tableStyle` TableStyle: Styles that apply to a table.
              - …
          - `tableOfContents` TableOfContents: A StructuralElement representing a table of contents.
            - `content` StructuralElement[]: The content of the table of contents.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A TableOfContents may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.
      - `commentAnchors` object: The comment anchors in a document tab, keyed by anchor ID. Only populated if the commentsViewMode parameter is set to require comments (such as `COMMENTS_VIEW_MODE_INCLUDED`).
      - `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.
      - `dropdownDefinitions` object: The dropdown definitions in a document tab, keyed by dropdown definition ID.
      - `footers` object: The footers in the document tab, keyed by footer ID.
      - `footnotes` object: The footnotes in the document tab, keyed by footnote ID.
      - `headers` object: The headers in the document tab, keyed by header ID.
      - `inlineObjects` object: The inline objects in the document tab, keyed by object ID.
      - `lists` object: The lists in the document tab, keyed by list ID.
      - `namedRanges` object: The named ranges in the document tab, keyed by name.
      - `namedStyles` NamedStyles: The named styles. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from these named styles.
        - `styles` NamedStyle[]: The named styles. There's an entry for each of the possible named style types.
          - `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.
              - …
            - `borderBottom` ParagraphBorder: A border around a paragraph.
              - …
            - `borderLeft` ParagraphBorder: A border around a paragraph.
              - …
            - `borderRight` ParagraphBorder: A border around a paragraph.
              - …
            - `borderTop` ParagraphBorder: A border around a paragraph.
              - …
            - `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.
              - …
            - `indentFirstLine` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `indentStart` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `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.
              - …
            - `spaceAbove` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `spaceBelow` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `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.
              - …
          - `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.
              - …
      - `positionedObjects` object: The positioned objects in the document tab, keyed by object ID.
      - `suggestedDocumentStyleChanges` object: The suggested changes to the style of the document tab, keyed by suggestion ID.
      - `suggestedNamedStylesChanges` object: The suggested changes to the named styles of the document tab, keyed by suggestion ID.
    - `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.
  - `title` string: The title of the document.

## Response `200`

Successful response

- Document: A Google Docs document.
  - `body` Body: The document body. The body typically contains the full document contents except for headers, footers, and footnotes.
    - `content` StructuralElement[]: The contents of the body. The indexes for the body's content begin at zero.
      - `endIndex` integer: The zero-based end index of this structural element, exclusive, in UTF-16 code units.
      - `paragraph` Paragraph: A StructuralElement representing a paragraph. A paragraph is a range of content that's terminated with a newline character.
        - `bullet` Bullet: Describes the bullet of a paragraph.
          - `listId` string: The ID of the list this paragraph belongs to.
          - `nestingLevel` integer: The nesting level of this paragraph in the list.
          - `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.
              - …
        - `elements` ParagraphElement[]: The content of the paragraph, broken down into its component parts.
          - `autoText` AutoText: A ParagraphElement representing a spot in the text that's dynamically replaced with content that can change over time, like a page number.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. An AutoText may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this AutoText, 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.
              - …
            - `type` 'TYPE_UNSPECIFIED' | 'PAGE_NUMBER' | 'PAGE_COUNT': The type of this auto text.
          - `columnBreak` ColumnBreak: A ParagraphElement representing a column break. A column break makes the subsequent text start at the top of the next column.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A ColumnBreak may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this ColumnBreak, 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.
              - …
          - `dateElement` DateElement: A date instance mentioned in a document.
            - `dateElementProperties` DateElementProperties: Properties of a DateElement.
              - …
            - `dateId` string: Output only. The unique ID of this date.
            - `suggestedDateElementPropertiesChanges` object: The suggested changes to the date element properties, keyed by suggestion ID.
            - `suggestedDeletionIds` string[]: IDs for suggestions that remove this date from the document. A DateElement might have multiple deletion IDs if, for example, multiple users suggest deleting it. If empty, then this date isn't suggested for deletion.
            - `suggestedInsertionIds` string[]: IDs for suggestions that insert this date into the document. A DateElement might have multiple insertion IDs if it's a nested suggested change (a suggestion within a suggestion made by a different user, for example). If empty, then this date isn't a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this DateElement, 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.
              - …
          - `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.
              - …
            - `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.
              - …
          - `endIndex` integer: The zero-base end index of this paragraph element, exclusive, in UTF-16 code units.
          - `equation` Equation: A ParagraphElement representing an equation.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. An Equation may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
          - `footnoteReference` FootnoteReference: A ParagraphElement representing a footnote reference. A footnote reference is the inline content rendered with a number and is used to identify the footnote.
            - `footnoteId` string: The ID of the footnote that contains the content of this footnote reference.
            - `footnoteNumber` string: The rendered number of this footnote.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A FootnoteReference may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this FootnoteReference, 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.
              - …
          - `horizontalRule` HorizontalRule: A ParagraphElement representing a horizontal line.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A HorizontalRule may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this HorizontalRule, 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.
              - …
          - `inlineObjectElement` InlineObjectElement: A ParagraphElement that contains an InlineObject.
            - `inlineObjectId` string: The ID of the InlineObject this element contains.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. An InlineObjectElement may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this InlineObject, 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.
              - …
          - `pageBreak` PageBreak: A ParagraphElement representing a page break. A page break makes the subsequent text start at the top of the next page.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A PageBreak may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this PageBreak, 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.
              - …
          - `person` Person: A person or email address mentioned in a document. These mentions behave as a single, immutable element containing the person's name or email address.
            - `personId` string: Output only. The unique ID of this link.
            - `personProperties` PersonProperties: Properties specific to a linked Person.
              - …
            - `suggestedDeletionIds` string[]: IDs for suggestions that remove this person link from the document. A Person might have multiple deletion IDs if, for example, multiple users suggest deleting it. If empty, then this person link isn't suggested for deletion.
            - `suggestedInsertionIds` string[]: IDs for suggestions that insert this person link into the document. A Person might have multiple insertion IDs if it's a nested suggested change (a suggestion within a suggestion made by a different user, for example). If empty, then this person link isn't a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this Person, 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.
              - …
          - `richLink` RichLink: A link to a Google resource (such as a file in Drive, a YouTube video, or a Calendar event).
            - `richLinkId` string: Output only. The ID of this link.
            - `richLinkProperties` RichLinkProperties: Properties specific to a RichLink.
              - …
            - `suggestedDeletionIds` string[]: IDs for suggestions that remove this link from the document. A RichLink might have multiple deletion IDs if, for example, multiple users suggest deleting it. If empty, then this person link isn't suggested for deletion.
            - `suggestedInsertionIds` string[]: IDs for suggestions that insert this link into the document. A RichLink might have multiple insertion IDs if it's a nested suggested change (a suggestion within a suggestion made by a different user, for example). If empty, then this person link isn't a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this RichLink, 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.
              - …
          - `startIndex` integer: The zero-based start index of this paragraph element, in UTF-16 code units.
          - `textRun` TextRun: A ParagraphElement that represents a run of text that all has the same styling.
            - `content` string: The text of this run. Any non-text elements in the run are replaced with the Unicode character U+E907.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A TextRun may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTextStyleChanges` object: The suggested text style changes to this run, 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.
              - …
        - `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.
              - …
        - `positionedObjectIds` string[]: The IDs of the positioned objects tethered to this paragraph.
        - `suggestedBulletChanges` object: The suggested changes to this paragraph's bullet.
        - `suggestedParagraphStyleChanges` object: The suggested paragraph style changes to this paragraph, keyed by suggestion ID.
        - `suggestedPositionedObjectIds` object: The IDs of the positioned objects suggested to be attached to this paragraph, keyed by suggestion ID.
      - `sectionBreak` SectionBreak: A StructuralElement representing a section break. A section is a range of content that has the same SectionStyle. A section break represents the start of a new section, and the section style applies to the section after the section break. The document body always begins with a section break.
        - `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.
              - …
            - `width` Dimension: A magnitude in a single direction in the specified units.
              - …
          - `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.
        - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
        - `suggestedInsertionIds` string[]: The suggested insertion IDs. A SectionBreak may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
      - `startIndex` integer: The zero-based start index of this structural element, in UTF-16 code units.
      - `table` Table: A StructuralElement representing a table.
        - `columns` integer: Number of columns in the table. It's possible for a table to be non-rectangular, so some rows may have a different number of cells.
        - `rows` integer: Number of rows in the table.
        - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
        - `suggestedInsertionIds` string[]: The suggested insertion IDs. A Table may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
        - `tableRows` TableRow[]: The contents and style of each row.
          - `endIndex` integer: The zero-based end index of this row, exclusive, in UTF-16 code units.
          - `startIndex` integer: The zero-based start index of this row, in UTF-16 code units.
          - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
          - `suggestedInsertionIds` string[]: The suggested insertion IDs. A TableRow may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
          - `suggestedTableRowStyleChanges` object: The suggested style changes to this row, keyed by suggestion ID.
          - `tableCells` TableCell[]: The contents and style of each cell in this row. It's possible for a table to be non-rectangular, so some rows may have a different number of cells than other rows in the same table.
            - `content` StructuralElement[]: The content of the cell.
            - `endIndex` integer: The zero-based end index of this cell, exclusive, in UTF-16 code units.
            - `startIndex` integer: The zero-based start index of this cell, in UTF-16 code units.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A TableCell may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `suggestedTableCellStyleChanges` object: The suggested changes to the table cell style, keyed by suggestion ID.
            - `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.
              - …
          - `tableRowStyle` TableRowStyle: Styles that apply to a table row.
            - `minRowHeight` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `preventOverflow` boolean: Whether the row cannot overflow across page or column boundaries.
            - `tableHeader` boolean: Whether the row is a table header.
        - `tableStyle` TableStyle: Styles that apply to a table.
          - `tableColumnProperties` TableColumnProperties[]: The properties of each column. Note that in Docs, tables contain rows and rows contain cells, similar to HTML. So the properties for a row can be found on the row's table_row_style.
            - `width` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `widthType` 'WIDTH_TYPE_UNSPECIFIED' | 'EVENLY_DISTRIBUTED' | 'FIXED_WIDTH': The width type of the column.
      - `tableOfContents` TableOfContents: A StructuralElement representing a table of contents.
        - `content` StructuralElement[]: The content of the table of contents.
        - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
        - `suggestedInsertionIds` string[]: The suggested insertion IDs. A TableOfContents may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.
  - `comments` CommentThread[]: Output only. The comments associated with the document. Only populated if the commentsViewMode parameter is set to require comments (such as `COMMENTS_VIEW_MODE_INCLUDED`).
    - `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.
  - `commentsViewMode` 'COMMENTS_VIEW_MODE_UNSPECIFIED' | 'COMMENTS_VIEW_MODE_DEFAULT_FOR_CURRENT_ACCESS' | 'COMMENTS_VIEW_MODE_OMITTED' | 'COMMENTS_VIEW_MODE_INCLUDED': Output only. The comments view mode applied to the document.
  - `documentId` string: Output only. The ID of the document.
  - `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.
          - `rgbColor` RgbColor: An RGB color.
            - `blue` number, float: The blue component of the color, from 0.0 to 1.0.
            - `green` number, float: The green component of the color, from 0.0 to 1.0.
            - `red` number, float: The red component of the color, from 0.0 to 1.0.
    - `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.
  - `footers` object: Output only. The footers in the document, keyed by footer ID. Legacy field: Instead, use Document.tabs.documentTab.footers, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `footnotes` object: Output only. The footnotes in the document, keyed by footnote ID. Legacy field: Instead, use Document.tabs.documentTab.footnotes, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `headers` object: Output only. The headers in the document, keyed by header ID. Legacy field: Instead, use Document.tabs.documentTab.headers, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `inlineObjects` object: Output only. The inline objects in the document, keyed by object ID. Legacy field: Instead, use Document.tabs.documentTab.inlineObjects, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `lists` object: Output only. The lists in the document, keyed by list ID. Legacy field: Instead, use Document.tabs.documentTab.lists, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `namedRanges` object: Output only. The named ranges in the document, keyed by name. Legacy field: Instead, use Document.tabs.documentTab.namedRanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `namedStyles` NamedStyles: The named styles. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from these named styles.
    - `styles` NamedStyle[]: The named styles. There's an entry for each of the possible named style types.
      - `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.
            - `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.
      - `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.
  - `positionedObjects` object: Output only. The positioned objects in the document, keyed by object ID. Legacy field: Instead, use Document.tabs.documentTab.positionedObjects, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `revisionId` string: Output only. The revision ID of the document. Can be used in update requests to specify which revision of a document to apply updates to and how the request should behave if the document has been edited since that revision. Only populated if the user has edit access to the document. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the document has not changed. Conversely, a changed ID (for the same document and user) usually means the document has been updated. However, a changed ID can also be due to internal factors such as ID format changes.
  - `suggestedDocumentStyleChanges` object: Output only. The suggested changes to the style of the document, keyed by suggestion ID. Legacy field: Instead, use Document.tabs.documentTab.suggestedDocumentStyleChanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `suggestedNamedStylesChanges` object: Output only. The suggested changes to the named styles of the document, keyed by suggestion ID. Legacy field: Instead, use Document.tabs.documentTab.suggestedNamedStylesChanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document.
  - `suggestions` SuggestionThread[]: Output only. The suggestions associated with the document. Only populated if the commentsViewMode parameter is set to require comments (such as `COMMENTS_VIEW_MODE_INCLUDED`).
    - `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.
    - `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' | 'ACCEPTED' | 'REJECTED': Whether the thread is open, accepted, or rejected.
    - `suggestionId` string: The unique ID of the suggestion.
    - `summaryHtml` string: Summary of the suggested differences in the document, in HTML. May be empty.
    - `summaryText` string: Summary of the suggested differences in the document, in plain text. May be empty.
  - `suggestionsViewMode` 'DEFAULT_FOR_CURRENT_ACCESS' | 'SUGGESTIONS_INLINE' | 'PREVIEW_SUGGESTIONS_ACCEPTED' | 'PREVIEW_WITHOUT_SUGGESTIONS': Output only. The suggestions view mode applied to the document. Note: When editing a document, changes must be based on a document with SUGGESTIONS_INLINE.
  - `tabs` Tab[]: Output only. Tabs that are part of a document. Tabs can contain child tabs, a tab nested within another tab. Child tabs are represented by the Tab.childTabs field.
    - `childTabs` Tab[]: The child tabs nested within this tab.
    - `documentTab` DocumentTab: A tab with document contents.
      - `body` Body: The document body. The body typically contains the full document contents except for headers, footers, and footnotes.
        - `content` StructuralElement[]: The contents of the body. The indexes for the body's content begin at zero.
          - `endIndex` integer: The zero-based end index of this structural element, exclusive, in UTF-16 code units.
          - `paragraph` Paragraph: A StructuralElement representing a paragraph. A paragraph is a range of content that's terminated with a newline character.
            - `bullet` Bullet: Describes the bullet of a paragraph.
              - …
            - `elements` ParagraphElement[]: The content of the paragraph, broken down into its component parts.
              - …
            - `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.
              - …
            - `positionedObjectIds` string[]: The IDs of the positioned objects tethered to this paragraph.
            - `suggestedBulletChanges` object: The suggested changes to this paragraph's bullet.
            - `suggestedParagraphStyleChanges` object: The suggested paragraph style changes to this paragraph, keyed by suggestion ID.
            - `suggestedPositionedObjectIds` object: The IDs of the positioned objects suggested to be attached to this paragraph, keyed by suggestion ID.
          - `sectionBreak` SectionBreak: A StructuralElement representing a section break. A section is a range of content that has the same SectionStyle. A section break represents the start of a new section, and the section style applies to the section after the section break. The document body always begins with a section break.
            - `sectionStyle` SectionStyle: The styling that applies to a section.
              - …
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A SectionBreak may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
          - `startIndex` integer: The zero-based start index of this structural element, in UTF-16 code units.
          - `table` Table: A StructuralElement representing a table.
            - `columns` integer: Number of columns in the table. It's possible for a table to be non-rectangular, so some rows may have a different number of cells.
            - `rows` integer: Number of rows in the table.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A Table may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion.
            - `tableRows` TableRow[]: The contents and style of each row.
              - …
            - `tableStyle` TableStyle: Styles that apply to a table.
              - …
          - `tableOfContents` TableOfContents: A StructuralElement representing a table of contents.
            - `content` StructuralElement[]: The content of the table of contents.
            - `suggestedDeletionIds` string[]: The suggested deletion IDs. If empty, then there are no suggested deletions of this content.
            - `suggestedInsertionIds` string[]: The suggested insertion IDs. A TableOfContents may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.
      - `commentAnchors` object: The comment anchors in a document tab, keyed by anchor ID. Only populated if the commentsViewMode parameter is set to require comments (such as `COMMENTS_VIEW_MODE_INCLUDED`).
      - `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.
      - `dropdownDefinitions` object: The dropdown definitions in a document tab, keyed by dropdown definition ID.
      - `footers` object: The footers in the document tab, keyed by footer ID.
      - `footnotes` object: The footnotes in the document tab, keyed by footnote ID.
      - `headers` object: The headers in the document tab, keyed by header ID.
      - `inlineObjects` object: The inline objects in the document tab, keyed by object ID.
      - `lists` object: The lists in the document tab, keyed by list ID.
      - `namedRanges` object: The named ranges in the document tab, keyed by name.
      - `namedStyles` NamedStyles: The named styles. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from these named styles.
        - `styles` NamedStyle[]: The named styles. There's an entry for each of the possible named style types.
          - `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.
              - …
            - `borderBottom` ParagraphBorder: A border around a paragraph.
              - …
            - `borderLeft` ParagraphBorder: A border around a paragraph.
              - …
            - `borderRight` ParagraphBorder: A border around a paragraph.
              - …
            - `borderTop` ParagraphBorder: A border around a paragraph.
              - …
            - `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.
              - …
            - `indentFirstLine` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `indentStart` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `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.
              - …
            - `spaceAbove` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `spaceBelow` Dimension: A magnitude in a single direction in the specified units.
              - …
            - `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.
              - …
          - `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.
              - …
      - `positionedObjects` object: The positioned objects in the document tab, keyed by object ID.
      - `suggestedDocumentStyleChanges` object: The suggested changes to the style of the document tab, keyed by suggestion ID.
      - `suggestedNamedStylesChanges` object: The suggested changes to the named styles of the document tab, keyed by suggestion ID.
    - `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.
  - `title` string: The title of the document.

## 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`: 30 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`
  - …26 more

[Operation history](https://skmtc.dev/google/apis/google-docs-api/changes/v1/documents/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)
