{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/documents": {
          "description": "View and manage your Google Docs documents"
        },
        "https://www.googleapis.com/auth/documents.readonly": {
          "description": "View your Google Docs documents"
        },
        "https://www.googleapis.com/auth/drive": {
          "description": "See, edit, create, and delete all of your Google Drive files"
        },
        "https://www.googleapis.com/auth/drive.file": {
          "description": "View and manage Google Drive files and folders that you have opened or created with this app"
        },
        "https://www.googleapis.com/auth/drive.readonly": {
          "description": "See and download all your Google Drive files"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://docs.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Docs",
  "description": "Reads and writes Google Docs documents.",
  "discoveryVersion": "v1",
  "documentationLink": "https://developers.google.com/docs/",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "docs:v1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://docs.mtls.googleapis.com/",
  "name": "docs",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "documents": {
      "methods": {
        "batchUpdate": {
          "description": "Applies one or more updates to the document. Each request is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests. For example, suppose you call batchUpdate with four updates, and only the third one returns information. The response would have two empty replies, the reply to the third request, and another empty reply, in that order. Because other users may be editing the document, the document might not exactly reflect your changes: your changes may be altered with respect to collaborator changes. If there are no collaborators, the document should reflect your changes. In any case, the updates in your request are guaranteed to be applied together atomically.",
          "flatPath": "v1/documents/{documentId}:batchUpdate",
          "httpMethod": "POST",
          "id": "docs.documents.batchUpdate",
          "parameterOrder": [
            "documentId"
          ],
          "parameters": {
            "documentId": {
              "description": "The ID of the document to update.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/documents/{documentId}:batchUpdate",
          "request": {
            "$ref": "BatchUpdateDocumentRequest"
          },
          "response": {
            "$ref": "BatchUpdateDocumentResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/documents",
            "https://www.googleapis.com/auth/drive",
            "https://www.googleapis.com/auth/drive.file"
          ]
        },
        "create": {
          "description": "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.",
          "flatPath": "v1/documents",
          "httpMethod": "POST",
          "id": "docs.documents.create",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/documents",
          "request": {
            "$ref": "Document"
          },
          "response": {
            "$ref": "Document"
          },
          "scopes": [
            "https://www.googleapis.com/auth/documents",
            "https://www.googleapis.com/auth/drive",
            "https://www.googleapis.com/auth/drive.file"
          ]
        },
        "get": {
          "description": "Gets the latest version of the specified document.",
          "flatPath": "v1/documents/{documentId}",
          "httpMethod": "GET",
          "id": "docs.documents.get",
          "parameterOrder": [
            "documentId"
          ],
          "parameters": {
            "documentId": {
              "description": "The ID of the document to retrieve.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "suggestionsViewMode": {
              "description": "The suggestions view mode to apply to the document. This allows viewing the document with all suggestions inline, accepted or rejected. If one is not specified, DEFAULT_FOR_CURRENT_ACCESS is used.",
              "enum": [
                "DEFAULT_FOR_CURRENT_ACCESS",
                "SUGGESTIONS_INLINE",
                "PREVIEW_SUGGESTIONS_ACCEPTED",
                "PREVIEW_WITHOUT_SUGGESTIONS"
              ],
              "enumDescriptions": [
                "The SuggestionsViewMode applied to the returned document depends on the user's current access level. If the user only has view access, PREVIEW_WITHOUT_SUGGESTIONS is applied. Otherwise, SUGGESTIONS_INLINE is applied. This is the default suggestions view mode.",
                "The returned document has suggestions inline. Suggested changes will be differentiated from base content within the document. Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.",
                "The returned document is a preview with all suggested changes accepted. Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.",
                "The returned document is a preview with all suggested changes rejected if there are any suggestions in the document."
              ],
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/documents/{documentId}",
          "response": {
            "$ref": "Document"
          },
          "scopes": [
            "https://www.googleapis.com/auth/documents",
            "https://www.googleapis.com/auth/documents.readonly",
            "https://www.googleapis.com/auth/drive",
            "https://www.googleapis.com/auth/drive.file",
            "https://www.googleapis.com/auth/drive.readonly"
          ]
        }
      }
    }
  },
  "revision": "20200803",
  "rootUrl": "https://docs.googleapis.com/",
  "schemas": {
    "AutoText": {
      "description": "A ParagraphElement representing a spot in the text that is dynamically replaced with content that can change over time, like a page number.",
      "id": "AutoText",
      "properties": {
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "The suggested insertion IDs. An AutoText may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedTextStyleChanges": {
          "additionalProperties": {
            "$ref": "SuggestedTextStyle"
          },
          "description": "The suggested text style changes to this AutoText, keyed by suggestion ID.",
          "type": "object"
        },
        "textStyle": {
          "$ref": "TextStyle",
          "description": "The text style of this AutoText."
        },
        "type": {
          "description": "The type of this auto text.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "PAGE_NUMBER",
            "PAGE_COUNT"
          ],
          "enumDescriptions": [
            "An unspecified auto text type.",
            "Type for auto text that represents the current page number.",
            "Type for auto text that represents the total number of pages in the document."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Background": {
      "description": "Represents the background of a document.",
      "id": "Background",
      "properties": {
        "color": {
          "$ref": "OptionalColor",
          "description": "The background color."
        }
      },
      "type": "object"
    },
    "BackgroundSuggestionState": {
      "description": "A mask that indicates which of the fields on the base Background have been changed in this suggestion. For any field set to true, the Backgound has a new suggested value.",
      "id": "BackgroundSuggestionState",
      "properties": {
        "backgroundColorSuggested": {
          "description": "Indicates whether the current background color has been modified in this suggestion.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "BatchUpdateDocumentRequest": {
      "description": "Request message for BatchUpdateDocument.",
      "id": "BatchUpdateDocumentRequest",
      "properties": {
        "requests": {
          "description": "A list of updates to apply to the document.",
          "items": {
            "$ref": "Request"
          },
          "type": "array"
        },
        "writeControl": {
          "$ref": "WriteControl",
          "description": "Provides control over how write requests are executed."
        }
      },
      "type": "object"
    },
    "BatchUpdateDocumentResponse": {
      "description": "Response message from a BatchUpdateDocument request.",
      "id": "BatchUpdateDocumentResponse",
      "properties": {
        "documentId": {
          "description": "The ID of the document to which the updates were applied to.",
          "type": "string"
        },
        "replies": {
          "description": "The reply of the updates. This maps 1:1 with the updates, although replies to some requests may be empty.",
          "items": {
            "$ref": "Response"
          },
          "type": "array"
        },
        "writeControl": {
          "$ref": "WriteControl",
          "description": "The updated write control after applying the request."
        }
      },
      "type": "object"
    },
    "Body": {
      "description": "The document body. The body typically contains the full document contents except for headers, footers and footnotes.",
      "id": "Body",
      "properties": {
        "content": {
          "description": "The contents of the body. The indexes for the body's content begin at zero.",
          "items": {
            "$ref": "StructuralElement"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Bullet": {
      "description": "Describes the bullet of a paragraph.",
      "id": "Bullet",
      "properties": {
        "listId": {
          "description": "The ID of the list this paragraph belongs to.",
          "type": "string"
        },
        "nestingLevel": {
          "description": "The nesting level of this paragraph in the list.",
          "format": "int32",
          "type": "integer"
        },
        "textStyle": {
          "$ref": "TextStyle",
          "description": "The paragraph specific text style applied to this bullet."
        }
      },
      "type": "object"
    },
    "BulletSuggestionState": {
      "description": "A mask that indicates which of the fields on the base Bullet have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "BulletSuggestionState",
      "properties": {
        "listIdSuggested": {
          "description": "Indicates if there was a suggested change to the list_id.",
          "type": "boolean"
        },
        "nestingLevelSuggested": {
          "description": "Indicates if there was a suggested change to the nesting_level.",
          "type": "boolean"
        },
        "textStyleSuggestionState": {
          "$ref": "TextStyleSuggestionState",
          "description": "A mask that indicates which of the fields in text style have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "Color": {
      "description": "A solid color.",
      "id": "Color",
      "properties": {
        "rgbColor": {
          "$ref": "RgbColor",
          "description": "The RGB color value."
        }
      },
      "type": "object"
    },
    "ColumnBreak": {
      "description": "A ParagraphElement representing a column break. A column break makes the subsequent text start at the top of the next column.",
      "id": "ColumnBreak",
      "properties": {
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "The suggested insertion IDs. A ColumnBreak may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedTextStyleChanges": {
          "additionalProperties": {
            "$ref": "SuggestedTextStyle"
          },
          "description": "The suggested text style changes to this ColumnBreak, keyed by suggestion ID.",
          "type": "object"
        },
        "textStyle": {
          "$ref": "TextStyle",
          "description": "The text style of this ColumnBreak. Similar to text content, like text runs and footnote references, the text style of a column break can affect content layout as well as the styling of text inserted adjacent to it."
        }
      },
      "type": "object"
    },
    "CreateFooterRequest": {
      "description": "Creates a Footer. The new footer is applied to the SectionStyle at the location of the SectionBreak if specificed, otherwise it is applied to the DocumentStyle. If a footer of the specified type already exists, a 400 bad request error is returned.",
      "id": "CreateFooterRequest",
      "properties": {
        "sectionBreakLocation": {
          "$ref": "Location",
          "description": "The location of the SectionBreak immediately preceding the section whose SectionStyle this footer should belong to. If this is unset or refers to the first section break in the document, the footer applies to the document style."
        },
        "type": {
          "description": "The type of footer to create.",
          "enum": [
            "HEADER_FOOTER_TYPE_UNSPECIFIED",
            "DEFAULT"
          ],
          "enumDescriptions": [
            "The header/footer type is unspecified.",
            "A default header/footer."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateFooterResponse": {
      "description": "The result of creating a footer.",
      "id": "CreateFooterResponse",
      "properties": {
        "footerId": {
          "description": "The ID of the created footer.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateFootnoteRequest": {
      "description": "Creates a Footnote segment and inserts a new FootnoteReference to it at the given location. The new Footnote segment will contain a space followed by a newline character.",
      "id": "CreateFootnoteRequest",
      "properties": {
        "endOfSegmentLocation": {
          "$ref": "EndOfSegmentLocation",
          "description": "Inserts the footnote reference at the end of the document body. Footnote references cannot be inserted inside a header, footer or footnote. Since footnote references can only be inserted in the body, the segment ID field must be empty."
        },
        "location": {
          "$ref": "Location",
          "description": "Inserts the footnote reference at a specific index in the document. The footnote reference must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). Footnote references cannot be inserted inside an equation, header, footer or footnote. Since footnote references can only be inserted in the body, the segment ID field must be empty."
        }
      },
      "type": "object"
    },
    "CreateFootnoteResponse": {
      "description": "The result of creating a footnote.",
      "id": "CreateFootnoteResponse",
      "properties": {
        "footnoteId": {
          "description": "The ID of the created footnote.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateHeaderRequest": {
      "description": "Creates a Header. The new header is applied to the SectionStyle at the location of the SectionBreak if specificed, otherwise it is applied to the DocumentStyle. If a header of the specified type already exists, a 400 bad request error is returned.",
      "id": "CreateHeaderRequest",
      "properties": {
        "sectionBreakLocation": {
          "$ref": "Location",
          "description": "The location of the SectionBreak which begins the section this header should belong to. If `section_break_location' is unset or if it refers to the first section break in the document body, the header applies to the DocumentStyle"
        },
        "type": {
          "description": "The type of header to create.",
          "enum": [
            "HEADER_FOOTER_TYPE_UNSPECIFIED",
            "DEFAULT"
          ],
          "enumDescriptions": [
            "The header/footer type is unspecified.",
            "A default header/footer."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateHeaderResponse": {
      "description": "The result of creating a header.",
      "id": "CreateHeaderResponse",
      "properties": {
        "headerId": {
          "description": "The ID of the created header.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateNamedRangeRequest": {
      "description": "Creates a NamedRange referencing the given range.",
      "id": "CreateNamedRangeRequest",
      "properties": {
        "name": {
          "description": "The name of the NamedRange. Names do not need to be unique. Names must be at least 1 character and no more than 256 characters, measured in UTF-16 code units.",
          "type": "string"
        },
        "range": {
          "$ref": "Range",
          "description": "The range to apply the name to."
        }
      },
      "type": "object"
    },
    "CreateNamedRangeResponse": {
      "description": "The result of creating a named range.",
      "id": "CreateNamedRangeResponse",
      "properties": {
        "namedRangeId": {
          "description": "The ID of the created named range.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateParagraphBulletsRequest": {
      "description": "Creates bullets for all of the paragraphs that overlap with the given range. The nesting level of each paragraph will be determined by counting leading tabs in front of each paragraph. To avoid excess space between the bullet and the corresponding paragraph, these leading tabs are removed by this request. This may change the indices of parts of the text. If the paragraph immediately before paragraphs being updated is in a list with a matching preset, the paragraphs being updated are added to that preceding list.",
      "id": "CreateParagraphBulletsRequest",
      "properties": {
        "bulletPreset": {
          "description": "The kinds of bullet glyphs to be used.",
          "enum": [
            "BULLET_GLYPH_PRESET_UNSPECIFIED",
            "BULLET_DISC_CIRCLE_SQUARE",
            "BULLET_DIAMONDX_ARROW3D_SQUARE",
            "BULLET_CHECKBOX",
            "BULLET_ARROW_DIAMOND_DISC",
            "BULLET_STAR_CIRCLE_SQUARE",
            "BULLET_ARROW3D_CIRCLE_SQUARE",
            "BULLET_LEFTTRIANGLE_DIAMOND_DISC",
            "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE",
            "BULLET_DIAMOND_CIRCLE_SQUARE",
            "NUMBERED_DECIMAL_ALPHA_ROMAN",
            "NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS",
            "NUMBERED_DECIMAL_NESTED",
            "NUMBERED_UPPERALPHA_ALPHA_ROMAN",
            "NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL",
            "NUMBERED_ZERODECIMAL_ALPHA_ROMAN"
          ],
          "enumDescriptions": [
            "The bullet glyph preset is unspecified.",
            "A bulleted list with a `DISC`, `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting levels.",
            "A bulleted list with a `DIAMONDX`, `ARROW3D` and `SQUARE` bullet glyph for the first 3 list nesting levels.",
            "A bulleted list with `CHECKBOX` bullet glyphs for all list nesting levels.",
            "A bulleted list with a `ARROW`, `DIAMOND` and `DISC` bullet glyph for the first 3 list nesting levels.",
            "A bulleted list with a `STAR`, `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting levels.",
            "A bulleted list with a `ARROW3D`, `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting levels.",
            "A bulleted list with a `LEFTTRIANGLE`, `DIAMOND` and `DISC` bullet glyph for the first 3 list nesting levels.",
            "A bulleted list with a `DIAMONDX`, `HOLLOWDIAMOND` and `SQUARE` bullet glyph for the first 3 list nesting levels.",
            "A bulleted list with a `DIAMOND`, `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting levels.",
            "A numbered list with `DECIMAL`, `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting levels, followed by periods.",
            "A numbered list with `DECIMAL`, `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting levels, followed by parenthesis.",
            "A numbered list with `DECIMAL` numeric glyphs separated by periods, where each nesting level uses the previous nesting level's glyph as a prefix. For example: '1.', '1.1.', '2.', '2.2.'.",
            "A numbered list with `UPPERALPHA`, `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting levels, followed by periods.",
            "A numbered list with `UPPERROMAN`, `UPPERALPHA` and `DECIMAL` numeric glyphs for the first 3 list nesting levels, followed by periods.",
            "A numbered list with `ZERODECIMAL`, `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting levels, followed by periods."
          ],
          "type": "string"
        },
        "range": {
          "$ref": "Range",
          "description": "The range to apply the bullet preset to."
        }
      },
      "type": "object"
    },
    "CropProperties": {
      "description": "The crop properties of an image. The crop rectangle is represented using fractional offsets from the original content's four edges. - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the image's original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the image's original bounding rectangle. - If all offsets and rotation angle are 0, the image is not cropped.",
      "id": "CropProperties",
      "properties": {
        "angle": {
          "description": "The clockwise rotation angle of the crop rectangle around its center, in radians. Rotation is applied after the offsets.",
          "format": "float",
          "type": "number"
        },
        "offsetBottom": {
          "description": "The offset specifies how far inwards the bottom edge of the crop rectangle is from the bottom edge of the original content as a fraction of the original content's height.",
          "format": "float",
          "type": "number"
        },
        "offsetLeft": {
          "description": "The offset specifies how far inwards the left edge of the crop rectangle is from the left edge of the original content as a fraction of the original content's width.",
          "format": "float",
          "type": "number"
        },
        "offsetRight": {
          "description": "The offset specifies how far inwards the right edge of the crop rectangle is from the right edge of the original content as a fraction of the original content's width.",
          "format": "float",
          "type": "number"
        },
        "offsetTop": {
          "description": "The offset specifies how far inwards the top edge of the crop rectangle is from the top edge of the original content as a fraction of the original content's height.",
          "format": "float",
          "type": "number"
        }
      },
      "type": "object"
    },
    "CropPropertiesSuggestionState": {
      "description": "A mask that indicates which of the fields on the base CropProperties have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "CropPropertiesSuggestionState",
      "properties": {
        "angleSuggested": {
          "description": "Indicates if there was a suggested change to angle.",
          "type": "boolean"
        },
        "offsetBottomSuggested": {
          "description": "Indicates if there was a suggested change to offset_bottom.",
          "type": "boolean"
        },
        "offsetLeftSuggested": {
          "description": "Indicates if there was a suggested change to offset_left.",
          "type": "boolean"
        },
        "offsetRightSuggested": {
          "description": "Indicates if there was a suggested change to offset_right.",
          "type": "boolean"
        },
        "offsetTopSuggested": {
          "description": "Indicates if there was a suggested change to offset_top.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "DeleteContentRangeRequest": {
      "description": "Deletes content from the document.",
      "id": "DeleteContentRangeRequest",
      "properties": {
        "range": {
          "$ref": "Range",
          "description": "The range of content to delete. Deleting text that crosses a paragraph boundary may result in changes to paragraph styles, lists, positioned objects and bookmarks as the two paragraphs are merged. Attempting to delete certain ranges can result in an invalid document structure in which case a 400 bad request error is returned. Some examples of invalid delete requests include: * Deleting one code unit of a surrogate pair. * Deleting the last newline character of a Body, Header, Footer, Footnote, TableCell or TableOfContents. * Deleting the start or end of a Table, TableOfContents or Equation without deleting the entire element. * Deleting the newline character before a Table, TableOfContents or SectionBreak without deleting the element. * Deleting individual rows or cells of a table. Deleting the content within a table cell is allowed."
        }
      },
      "type": "object"
    },
    "DeleteFooterRequest": {
      "description": "Deletes a Footer from the document.",
      "id": "DeleteFooterRequest",
      "properties": {
        "footerId": {
          "description": "The id of the footer to delete. If this footer is defined on DocumentStyle, the reference to this footer is removed, resulting in no footer of that type for the first section of the document. If this footer is defined on a SectionStyle, the reference to this footer is removed and the footer of that type is now continued from the previous section.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeleteHeaderRequest": {
      "description": "Deletes a Header from the document.",
      "id": "DeleteHeaderRequest",
      "properties": {
        "headerId": {
          "description": "The id of the header to delete. If this header is defined on DocumentStyle, the reference to this header is removed, resulting in no header of that type for the first section of the document. If this header is defined on a SectionStyle, the reference to this header is removed and the header of that type is now continued from the previous section.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeleteNamedRangeRequest": {
      "description": "Deletes a NamedRange.",
      "id": "DeleteNamedRangeRequest",
      "properties": {
        "name": {
          "description": "The name of the range(s) to delete. All named ranges with the given name will be deleted.",
          "type": "string"
        },
        "namedRangeId": {
          "description": "The ID of the named range to delete.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeleteParagraphBulletsRequest": {
      "description": "Deletes bullets from all of the paragraphs that overlap with the given range. The nesting level of each paragraph will be visually preserved by adding indent to the start of the corresponding paragraph.",
      "id": "DeleteParagraphBulletsRequest",
      "properties": {
        "range": {
          "$ref": "Range",
          "description": "The range to delete bullets from."
        }
      },
      "type": "object"
    },
    "DeletePositionedObjectRequest": {
      "description": "Deletes a PositionedObject from the document.",
      "id": "DeletePositionedObjectRequest",
      "properties": {
        "objectId": {
          "description": "The ID of the positioned object to delete.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeleteTableColumnRequest": {
      "description": "Deletes a column from a table.",
      "id": "DeleteTableColumnRequest",
      "properties": {
        "tableCellLocation": {
          "$ref": "TableCellLocation",
          "description": "The reference table cell location from which the column will be deleted. The column this cell spans will be deleted. If this is a merged cell that spans multiple columns, all columns that the cell spans will be deleted. If no columns remain in the table after this deletion, the whole table is deleted."
        }
      },
      "type": "object"
    },
    "DeleteTableRowRequest": {
      "description": "Deletes a row from a table.",
      "id": "DeleteTableRowRequest",
      "properties": {
        "tableCellLocation": {
          "$ref": "TableCellLocation",
          "description": "The reference table cell location from which the row will be deleted. The row this cell spans will be deleted. If this is a merged cell that spans multiple rows, all rows that the cell spans will be deleted. If no rows remain in the table after this deletion, the whole table is deleted."
        }
      },
      "type": "object"
    },
    "Dimension": {
      "description": "A magnitude in a single direction in the specified units.",
      "id": "Dimension",
      "properties": {
        "magnitude": {
          "description": "The magnitude.",
          "format": "double",
          "type": "number"
        },
        "unit": {
          "description": "The units for magnitude.",
          "enum": [
            "UNIT_UNSPECIFIED",
            "PT"
          ],
          "enumDescriptions": [
            "The units are unknown.",
            "A point, 1/72 of an inch."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Document": {
      "description": "A Google Docs document.",
      "id": "Document",
      "properties": {
        "body": {
          "$ref": "Body",
          "description": "Output only. The main body of the document."
        },
        "documentId": {
          "description": "Output only. The ID of the document.",
          "type": "string"
        },
        "documentStyle": {
          "$ref": "DocumentStyle",
          "description": "Output only. The style of the document."
        },
        "footers": {
          "additionalProperties": {
            "$ref": "Footer"
          },
          "description": "Output only. The footers in the document, keyed by footer ID.",
          "type": "object"
        },
        "footnotes": {
          "additionalProperties": {
            "$ref": "Footnote"
          },
          "description": "Output only. The footnotes in the document, keyed by footnote ID.",
          "type": "object"
        },
        "headers": {
          "additionalProperties": {
            "$ref": "Header"
          },
          "description": "Output only. The headers in the document, keyed by header ID.",
          "type": "object"
        },
        "inlineObjects": {
          "additionalProperties": {
            "$ref": "InlineObject"
          },
          "description": "Output only. The inline objects in the document, keyed by object ID.",
          "type": "object"
        },
        "lists": {
          "additionalProperties": {
            "$ref": "List"
          },
          "description": "Output only. The lists in the document, keyed by list ID.",
          "type": "object"
        },
        "namedRanges": {
          "additionalProperties": {
            "$ref": "NamedRanges"
          },
          "description": "Output only. The named ranges in the document, keyed by name.",
          "type": "object"
        },
        "namedStyles": {
          "$ref": "NamedStyles",
          "description": "Output only. The named styles of the document."
        },
        "positionedObjects": {
          "additionalProperties": {
            "$ref": "PositionedObject"
          },
          "description": "Output only. The positioned objects in the document, keyed by object ID.",
          "type": "object"
        },
        "revisionId": {
          "description": "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 format of the revision ID may change over time, so it should be treated opaquely. 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.",
          "type": "string"
        },
        "suggestedDocumentStyleChanges": {
          "additionalProperties": {
            "$ref": "SuggestedDocumentStyle"
          },
          "description": "Output only. The suggested changes to the style of the document, keyed by suggestion ID.",
          "type": "object"
        },
        "suggestedNamedStylesChanges": {
          "additionalProperties": {
            "$ref": "SuggestedNamedStyles"
          },
          "description": "Output only. The suggested changes to the named styles of the document, keyed by suggestion ID.",
          "type": "object"
        },
        "suggestionsViewMode": {
          "description": "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.",
          "enum": [
            "DEFAULT_FOR_CURRENT_ACCESS",
            "SUGGESTIONS_INLINE",
            "PREVIEW_SUGGESTIONS_ACCEPTED",
            "PREVIEW_WITHOUT_SUGGESTIONS"
          ],
          "enumDescriptions": [
            "The SuggestionsViewMode applied to the returned document depends on the user's current access level. If the user only has view access, PREVIEW_WITHOUT_SUGGESTIONS is applied. Otherwise, SUGGESTIONS_INLINE is applied. This is the default suggestions view mode.",
            "The returned document has suggestions inline. Suggested changes will be differentiated from base content within the document. Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.",
            "The returned document is a preview with all suggested changes accepted. Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.",
            "The returned document is a preview with all suggested changes rejected if there are any suggestions in the document."
          ],
          "type": "string"
        },
        "title": {
          "description": "The title of the document.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DocumentStyle": {
      "description": "The style of the document.",
      "id": "DocumentStyle",
      "properties": {
        "background": {
          "$ref": "Background",
          "description": "The background of the document. Documents cannot have a transparent background color."
        },
        "defaultFooterId": {
          "description": "The ID of the default footer. If not set, there is no default footer. This property is read-only.",
          "type": "string"
        },
        "defaultHeaderId": {
          "description": "The ID of the default header. If not set, there is no default header. This property is read-only.",
          "type": "string"
        },
        "evenPageFooterId": {
          "description": "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 is no even page footer. This property is read-only.",
          "type": "string"
        },
        "evenPageHeaderId": {
          "description": "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 is no even page header. This property is read-only.",
          "type": "string"
        },
        "firstPageFooterId": {
          "description": "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 is no first page footer. This property is read-only.",
          "type": "string"
        },
        "firstPageHeaderId": {
          "description": "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 is no first page header. This property is read-only.",
          "type": "string"
        },
        "marginBottom": {
          "$ref": "Dimension",
          "description": "The bottom page margin. Updating the bottom page margin on the document style clears the bottom page margin on all section styles."
        },
        "marginFooter": {
          "$ref": "Dimension",
          "description": "The amount of space between the bottom of the page and the contents of the footer."
        },
        "marginHeader": {
          "$ref": "Dimension",
          "description": "The amount of space between the top of the page and the contents of the header."
        },
        "marginLeft": {
          "$ref": "Dimension",
          "description": "The left page margin. Updating the left page margin on the document style clears the left page margin on all section styles. It may also cause columns to resize in all sections."
        },
        "marginRight": {
          "$ref": "Dimension",
          "description": "The right page margin. Updating the right page margin on the document style clears the right page margin on all section styles. It may also cause columns to resize in all sections."
        },
        "marginTop": {
          "$ref": "Dimension",
          "description": "The top page margin. Updating the top page margin on the document style clears the top page margin on all section styles."
        },
        "pageNumberStart": {
          "description": "The page number from which to start counting the number of pages.",
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "$ref": "Size",
          "description": "The size of a page in the document."
        },
        "useCustomHeaderFooterMargins": {
          "description": "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 are used. This property is read-only.",
          "type": "boolean"
        },
        "useEvenPageHeaderFooter": {
          "description": "Indicates whether to use the even page header / footer IDs for the even pages.",
          "type": "boolean"
        },
        "useFirstPageHeaderFooter": {
          "description": "Indicates whether to use the first page header / footer IDs for the first page.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "DocumentStyleSuggestionState": {
      "description": "A mask that indicates which of the fields on the base DocumentStyle have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "DocumentStyleSuggestionState",
      "properties": {
        "backgroundSuggestionState": {
          "$ref": "BackgroundSuggestionState",
          "description": "A mask that indicates which of the fields in background have been changed in this suggestion."
        },
        "defaultFooterIdSuggested": {
          "description": "Indicates if there was a suggested change to default_footer_id.",
          "type": "boolean"
        },
        "defaultHeaderIdSuggested": {
          "description": "Indicates if there was a suggested change to default_header_id.",
          "type": "boolean"
        },
        "evenPageFooterIdSuggested": {
          "description": "Indicates if there was a suggested change to even_page_footer_id.",
          "type": "boolean"
        },
        "evenPageHeaderIdSuggested": {
          "description": "Indicates if there was a suggested change to even_page_header_id.",
          "type": "boolean"
        },
        "firstPageFooterIdSuggested": {
          "description": "Indicates if there was a suggested change to first_page_footer_id.",
          "type": "boolean"
        },
        "firstPageHeaderIdSuggested": {
          "description": "Indicates if there was a suggested change to first_page_header_id.",
          "type": "boolean"
        },
        "marginBottomSuggested": {
          "description": "Indicates if there was a suggested change to margin_bottom.",
          "type": "boolean"
        },
        "marginFooterSuggested": {
          "description": "Indicates if there was a suggested change to margin_footer.",
          "type": "boolean"
        },
        "marginHeaderSuggested": {
          "description": "Indicates if there was a suggested change to margin_header.",
          "type": "boolean"
        },
        "marginLeftSuggested": {
          "description": "Indicates if there was a suggested change to margin_left.",
          "type": "boolean"
        },
        "marginRightSuggested": {
          "description": "Indicates if there was a suggested change to margin_right.",
          "type": "boolean"
        },
        "marginTopSuggested": {
          "description": "Indicates if there was a suggested change to margin_top.",
          "type": "boolean"
        },
        "pageNumberStartSuggested": {
          "description": "Indicates if there was a suggested change to page_number_start.",
          "type": "boolean"
        },
        "pageSizeSuggestionState": {
          "$ref": "SizeSuggestionState",
          "description": "A mask that indicates which of the fields in size have been changed in this suggestion."
        },
        "useCustomHeaderFooterMarginsSuggested": {
          "description": "Indicates if there was a suggested change to use_custom_header_footer_margins.",
          "type": "boolean"
        },
        "useEvenPageHeaderFooterSuggested": {
          "description": "Indicates if there was a suggested change to use_even_page_header_footer.",
          "type": "boolean"
        },
        "useFirstPageHeaderFooterSuggested": {
          "description": "Indicates if there was a suggested change to use_first_page_header_footer.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "EmbeddedDrawingProperties": {
      "description": "The properties of an embedded drawing.",
      "id": "EmbeddedDrawingProperties",
      "properties": {},
      "type": "object"
    },
    "EmbeddedDrawingPropertiesSuggestionState": {
      "description": "A mask that indicates which of the fields on the base EmbeddedDrawingProperties have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "EmbeddedDrawingPropertiesSuggestionState",
      "properties": {},
      "type": "object"
    },
    "EmbeddedObject": {
      "description": "An embedded object in the document.",
      "id": "EmbeddedObject",
      "properties": {
        "description": {
          "description": "The description of the embedded object. The `title` and `description` are both combined to display alt text.",
          "type": "string"
        },
        "embeddedDrawingProperties": {
          "$ref": "EmbeddedDrawingProperties",
          "description": "The properties of an embedded drawing."
        },
        "embeddedObjectBorder": {
          "$ref": "EmbeddedObjectBorder",
          "description": "The border of the embedded object."
        },
        "imageProperties": {
          "$ref": "ImageProperties",
          "description": "The properties of an image."
        },
        "linkedContentReference": {
          "$ref": "LinkedContentReference",
          "description": "A reference to the external linked source content. For example, it contains a reference to the source Sheets chart when the embedded object is a linked chart. If unset, then the embedded object is not linked."
        },
        "marginBottom": {
          "$ref": "Dimension",
          "description": "The bottom margin of the embedded object."
        },
        "marginLeft": {
          "$ref": "Dimension",
          "description": "The left margin of the embedded object."
        },
        "marginRight": {
          "$ref": "Dimension",
          "description": "The right margin of the embedded object."
        },
        "marginTop": {
          "$ref": "Dimension",
          "description": "The top margin of the embedded object."
        },
        "size": {
          "$ref": "Size",
          "description": "The visible size of the image after cropping."
        },
        "title": {
          "description": "The title of the embedded object. The `title` and `description` are both combined to display alt text.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EmbeddedObjectBorder": {
      "description": "A border around an EmbeddedObject.",
      "id": "EmbeddedObjectBorder",
      "properties": {
        "color": {
          "$ref": "OptionalColor",
          "description": "The color of the border."
        },
        "dashStyle": {
          "description": "The dash style of the border.",
          "enum": [
            "DASH_STYLE_UNSPECIFIED",
            "SOLID",
            "DOT",
            "DASH"
          ],
          "enumDescriptions": [
            "Unspecified dash style.",
            "Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'. This is the default dash style.",
            "Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.",
            "Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'."
          ],
          "type": "string"
        },
        "propertyState": {
          "description": "The property state of the border property.",
          "enum": [
            "RENDERED",
            "NOT_RENDERED"
          ],
          "enumDescriptions": [
            "If a property's state is RENDERED, then the element has the corresponding property when rendered in the document. This is the default value.",
            "If a property's state is NOT_RENDERED, then the element does not have the corresponding property when rendered in the document."
          ],
          "type": "string"
        },
        "width": {
          "$ref": "Dimension",
          "description": "The width of the border."
        }
      },
      "type": "object"
    },
    "EmbeddedObjectBorderSuggestionState": {
      "description": "A mask that indicates which of the fields on the base EmbeddedObjectBorder have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "EmbeddedObjectBorderSuggestionState",
      "properties": {
        "colorSuggested": {
          "description": "Indicates if there was a suggested change to color.",
          "type": "boolean"
        },
        "dashStyleSuggested": {
          "description": "Indicates if there was a suggested change to dash_style.",
          "type": "boolean"
        },
        "propertyStateSuggested": {
          "description": "Indicates if there was a suggested change to property_state.",
          "type": "boolean"
        },
        "widthSuggested": {
          "description": "Indicates if there was a suggested change to width.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "EmbeddedObjectSuggestionState": {
      "description": "A mask that indicates which of the fields on the base EmbeddedObject have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "EmbeddedObjectSuggestionState",
      "properties": {
        "descriptionSuggested": {
          "description": "Indicates if there was a suggested change to description.",
          "type": "boolean"
        },
        "embeddedDrawingPropertiesSuggestionState": {
          "$ref": "EmbeddedDrawingPropertiesSuggestionState",
          "description": "A mask that indicates which of the fields in embedded_drawing_properties have been changed in this suggestion."
        },
        "embeddedObjectBorderSuggestionState": {
          "$ref": "EmbeddedObjectBorderSuggestionState",
          "description": "A mask that indicates which of the fields in embedded_object_border have been changed in this suggestion."
        },
        "imagePropertiesSuggestionState": {
          "$ref": "ImagePropertiesSuggestionState",
          "description": "A mask that indicates which of the fields in image_properties have been changed in this suggestion."
        },
        "linkedContentReferenceSuggestionState": {
          "$ref": "LinkedContentReferenceSuggestionState",
          "description": "A mask that indicates which of the fields in linked_content_reference have been changed in this suggestion."
        },
        "marginBottomSuggested": {
          "description": "Indicates if there was a suggested change to margin_bottom.",
          "type": "boolean"
        },
        "marginLeftSuggested": {
          "description": "Indicates if there was a suggested change to margin_left.",
          "type": "boolean"
        },
        "marginRightSuggested": {
          "description": "Indicates if there was a suggested change to margin_right.",
          "type": "boolean"
        },
        "marginTopSuggested": {
          "description": "Indicates if there was a suggested change to margin_top.",
          "type": "boolean"
        },
        "sizeSuggestionState": {
          "$ref": "SizeSuggestionState",
          "description": "A mask that indicates which of the fields in size have been changed in this suggestion."
        },
        "titleSuggested": {
          "description": "Indicates if there was a suggested change to title.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "EndOfSegmentLocation": {
      "description": "Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment.",
      "id": "EndOfSegmentLocation",
      "properties": {
        "segmentId": {
          "description": "The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Equation": {
      "description": "A ParagraphElement representing an equation.",
      "id": "Equation",
      "properties": {
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "The suggested insertion IDs. A Equation may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Footer": {
      "description": "A document footer.",
      "id": "Footer",
      "properties": {
        "content": {
          "description": "The contents of the footer. The indexes for a footer's content begin at zero.",
          "items": {
            "$ref": "StructuralElement"
          },
          "type": "array"
        },
        "footerId": {
          "description": "The ID of the footer.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Footnote": {
      "description": "A document footnote.",
      "id": "Footnote",
      "properties": {
        "content": {
          "description": "The contents of the footnote. The indexes for a footnote's content begin at zero.",
          "items": {
            "$ref": "StructuralElement"
          },
          "type": "array"
        },
        "footnoteId": {
          "description": "The ID of the footnote.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FootnoteReference": {
      "description": "A ParagraphElement representing a footnote reference. A footnote reference is the inline content rendered with a number and is used to identify the footnote.",
      "id": "FootnoteReference",
      "properties": {
        "footnoteId": {
          "description": "The ID of the footnote that contains the content of this footnote reference.",
          "type": "string"
        },
        "footnoteNumber": {
          "description": "The rendered number of this footnote.",
          "type": "string"
        },
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "The suggested insertion IDs. A FootnoteReference may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedTextStyleChanges": {
          "additionalProperties": {
            "$ref": "SuggestedTextStyle"
          },
          "description": "The suggested text style changes to this FootnoteReference, keyed by suggestion ID.",
          "type": "object"
        },
        "textStyle": {
          "$ref": "TextStyle",
          "description": "The text style of this FootnoteReference."
        }
      },
      "type": "object"
    },
    "Header": {
      "description": "A document header.",
      "id": "Header",
      "properties": {
        "content": {
          "description": "The contents of the header. The indexes for a header's content begin at zero.",
          "items": {
            "$ref": "StructuralElement"
          },
          "type": "array"
        },
        "headerId": {
          "description": "The ID of the header.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HorizontalRule": {
      "description": "A ParagraphElement representing a horizontal line.",
      "id": "HorizontalRule",
      "properties": {
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedTextStyleChanges": {
          "additionalProperties": {
            "$ref": "SuggestedTextStyle"
          },
          "description": "The suggested text style changes to this HorizontalRule, keyed by suggestion ID.",
          "type": "object"
        },
        "textStyle": {
          "$ref": "TextStyle",
          "description": "The text style of this HorizontalRule. Similar to text content, like text runs and footnote references, the text style of a horizontal rule can affect content layout as well as the styling of text inserted adjacent to it."
        }
      },
      "type": "object"
    },
    "ImageProperties": {
      "description": "The properties of an image.",
      "id": "ImageProperties",
      "properties": {
        "angle": {
          "description": "The clockwise rotation angle of the image, in radians.",
          "format": "float",
          "type": "number"
        },
        "brightness": {
          "description": "The brightness effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect.",
          "format": "float",
          "type": "number"
        },
        "contentUri": {
          "description": "A URI to the image with a default lifetime of 30 minutes. This URI is tagged with the account of the requester. Anyone with the URI effectively accesses the image as the original requester. Access to the image may be lost if the document's sharing settings change.",
          "type": "string"
        },
        "contrast": {
          "description": "The contrast effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect.",
          "format": "float",
          "type": "number"
        },
        "cropProperties": {
          "$ref": "CropProperties",
          "description": "The crop properties of the image."
        },
        "sourceUri": {
          "description": "The source URI is the URI used to insert the image. The source URI can be empty.",
          "type": "string"
        },
        "transparency": {
          "description": "The transparency effect of the image. The value should be in the interval [0.0, 1.0], where 0 means no effect and 1 means completely transparent.",
          "format": "float",
          "type": "number"
        }
      },
      "type": "object"
    },
    "ImagePropertiesSuggestionState": {
      "description": "A mask that indicates which of the fields on the base ImageProperties have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "ImagePropertiesSuggestionState",
      "properties": {
        "angleSuggested": {
          "description": "Indicates if there was a suggested change to angle.",
          "type": "boolean"
        },
        "brightnessSuggested": {
          "description": "Indicates if there was a suggested change to brightness.",
          "type": "boolean"
        },
        "contentUriSuggested": {
          "description": "Indicates if there was a suggested change to content_uri.",
          "type": "boolean"
        },
        "contrastSuggested": {
          "description": "Indicates if there was a suggested change to contrast.",
          "type": "boolean"
        },
        "cropPropertiesSuggestionState": {
          "$ref": "CropPropertiesSuggestionState",
          "description": "A mask that indicates which of the fields in crop_properties have been changed in this suggestion."
        },
        "sourceUriSuggested": {
          "description": "Indicates if there was a suggested change to source_uri.",
          "type": "boolean"
        },
        "transparencySuggested": {
          "description": "Indicates if there was a suggested change to transparency.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "InlineObject": {
      "description": "An object that appears inline with text. An InlineObject contains an EmbeddedObject such as an image.",
      "id": "InlineObject",
      "properties": {
        "inlineObjectProperties": {
          "$ref": "InlineObjectProperties",
          "description": "The properties of this inline object."
        },
        "objectId": {
          "description": "The ID of this inline object.",
          "type": "string"
        },
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInlineObjectPropertiesChanges": {
          "additionalProperties": {
            "$ref": "SuggestedInlineObjectProperties"
          },
          "description": "The suggested changes to the inline object properties, keyed by suggestion ID.",
          "type": "object"
        },
        "suggestedInsertionId": {
          "description": "The suggested insertion ID. If empty, then this is not a suggested insertion.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "InlineObjectElement": {
      "description": "A ParagraphElement that contains an InlineObject.",
      "id": "InlineObjectElement",
      "properties": {
        "inlineObjectId": {
          "description": "The ID of the InlineObject this element contains.",
          "type": "string"
        },
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "The suggested insertion IDs. An InlineObjectElement may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedTextStyleChanges": {
          "additionalProperties": {
            "$ref": "SuggestedTextStyle"
          },
          "description": "The suggested text style changes to this InlineObject, keyed by suggestion ID.",
          "type": "object"
        },
        "textStyle": {
          "$ref": "TextStyle",
          "description": "The text style of this InlineObjectElement. Similar to text content, like text runs and footnote references, the text style of an inline object element can affect content layout as well as the styling of text inserted adjacent to it."
        }
      },
      "type": "object"
    },
    "InlineObjectProperties": {
      "description": "Properties of an InlineObject.",
      "id": "InlineObjectProperties",
      "properties": {
        "embeddedObject": {
          "$ref": "EmbeddedObject",
          "description": "The embedded object of this inline object."
        }
      },
      "type": "object"
    },
    "InlineObjectPropertiesSuggestionState": {
      "description": "A mask that indicates which of the fields on the base InlineObjectProperties have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "InlineObjectPropertiesSuggestionState",
      "properties": {
        "embeddedObjectSuggestionState": {
          "$ref": "EmbeddedObjectSuggestionState",
          "description": "A mask that indicates which of the fields in embedded_object have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "InsertInlineImageRequest": {
      "description": "Inserts an InlineObject containing an image at the given location.",
      "id": "InsertInlineImageRequest",
      "properties": {
        "endOfSegmentLocation": {
          "$ref": "EndOfSegmentLocation",
          "description": "Inserts the text at the end of a header, footer or the document body. Inline images cannot be inserted inside a footnote."
        },
        "location": {
          "$ref": "Location",
          "description": "Inserts the image at a specific index in the document. The image must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). Inline images cannot be inserted inside a footnote or equation."
        },
        "objectSize": {
          "$ref": "Size",
          "description": "The size that the image should appear as in the document. This property is optional and the final size of the image in the document is determined by the following rules: * If neither width nor height is specified, then a default size of the image is calculated based on its resolution. * If one dimension is specified then the other dimension is calculated to preserve the aspect ratio of the image. * If both width and height are specified, the image is scaled to fit within the provided dimensions while maintaining its aspect ratio."
        },
        "uri": {
          "description": "The image URI. The image is fetched once at insertion time and a copy is stored for display inside the document. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URI can be at most 2 kB in length. The URI itself is saved with the image, and exposed via the ImageProperties.content_uri field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "InsertInlineImageResponse": {
      "description": "The result of inserting an inline image.",
      "id": "InsertInlineImageResponse",
      "properties": {
        "objectId": {
          "description": "The ID of the created InlineObject.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "InsertInlineSheetsChartResponse": {
      "description": "The result of inserting an embedded Google Sheets chart.",
      "id": "InsertInlineSheetsChartResponse",
      "properties": {
        "objectId": {
          "description": "The object ID of the inserted chart.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "InsertPageBreakRequest": {
      "description": "Inserts a page break followed by a newline at the specified location.",
      "id": "InsertPageBreakRequest",
      "properties": {
        "endOfSegmentLocation": {
          "$ref": "EndOfSegmentLocation",
          "description": "Inserts the page break at the end of the document body. Page breaks cannot be inserted inside a footnote, header or footer. Since page breaks can only be inserted inside the body, the segment ID field must be empty."
        },
        "location": {
          "$ref": "Location",
          "description": "Inserts the page break at a specific index in the document. The page break must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). Page breaks cannot be inserted inside a table, equation, footnote, header or footer. Since page breaks can only be inserted inside the body, the segment ID field must be empty."
        }
      },
      "type": "object"
    },
    "InsertSectionBreakRequest": {
      "description": "Inserts a section break at the given location. A newline character will be inserted before the section break.",
      "id": "InsertSectionBreakRequest",
      "properties": {
        "endOfSegmentLocation": {
          "$ref": "EndOfSegmentLocation",
          "description": "Inserts a newline and a section break at the end of the document body. Section breaks cannot be inserted inside a footnote, header or footer. Because section breaks can only be inserted inside the body, the segment ID field must be empty."
        },
        "location": {
          "$ref": "Location",
          "description": "Inserts a newline and a section break at a specific index in the document. The section break must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). Section breaks cannot be inserted inside a table, equation, footnote, header, or footer. Since section breaks can only be inserted inside the body, the segment ID field must be empty."
        },
        "sectionType": {
          "description": "The type of section to insert.",
          "enum": [
            "SECTION_TYPE_UNSPECIFIED",
            "CONTINUOUS",
            "NEXT_PAGE"
          ],
          "enumDescriptions": [
            "The section type is unspecified.",
            "The section starts immediately after the last paragraph of the previous section.",
            "The section starts on the next page."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "InsertTableColumnRequest": {
      "description": "Inserts an empty column into a table.",
      "id": "InsertTableColumnRequest",
      "properties": {
        "insertRight": {
          "description": "Whether to insert new column to the right of the reference cell location. - `True`: insert to the right. - `False`: insert to the left.",
          "type": "boolean"
        },
        "tableCellLocation": {
          "$ref": "TableCellLocation",
          "description": "The reference table cell location from which columns will be inserted. A new column will be inserted to the left (or right) of the column where the reference cell is. If the reference cell is a merged cell, a new column will be inserted to the left (or right) of the merged cell."
        }
      },
      "type": "object"
    },
    "InsertTableRequest": {
      "description": "Inserts a table at the specified location. A newline character will be inserted before the inserted table.",
      "id": "InsertTableRequest",
      "properties": {
        "columns": {
          "description": "The number of columns in the table.",
          "format": "int32",
          "type": "integer"
        },
        "endOfSegmentLocation": {
          "$ref": "EndOfSegmentLocation",
          "description": "Inserts the table at the end of the given header, footer or document body. A newline character will be inserted before the inserted table. Tables cannot be inserted inside a footnote."
        },
        "location": {
          "$ref": "Location",
          "description": "Inserts the table at a specific model index. A newline character will be inserted before the inserted table, therefore the table start index will be at the specified location index + 1. The table must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between an existing table and its preceding paragraph). Tables cannot be inserted inside a footnote or equation."
        },
        "rows": {
          "description": "The number of rows in the table.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "InsertTableRowRequest": {
      "description": "Inserts an empty row into a table.",
      "id": "InsertTableRowRequest",
      "properties": {
        "insertBelow": {
          "description": "Whether to insert new row below the reference cell location. - `True`: insert below the cell. - `False`: insert above the cell.",
          "type": "boolean"
        },
        "tableCellLocation": {
          "$ref": "TableCellLocation",
          "description": "The reference table cell location from which rows will be inserted. A new row will be inserted above (or below) the row where the reference cell is. If the reference cell is a merged cell, a new row will be inserted above (or below) the merged cell."
        }
      },
      "type": "object"
    },
    "InsertTextRequest": {
      "description": "Inserts text at the specified location.",
      "id": "InsertTextRequest",
      "properties": {
        "endOfSegmentLocation": {
          "$ref": "EndOfSegmentLocation",
          "description": "Inserts the text at the end of a header, footer, footnote or the document body."
        },
        "location": {
          "$ref": "Location",
          "description": "Inserts the text at a specific index in the document. Text must be inserted inside the bounds of an existing Paragraph. For instance, text cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). The text must be inserted in the preceding paragraph."
        },
        "text": {
          "description": "The text to be inserted. Inserting a newline character will implicitly create a new Paragraph at that index. The paragraph style of the new paragraph will be copied from the paragraph at the current insertion index, including lists and bullets. Text styles for inserted text will be determined automatically, generally preserving the styling of neighboring text. In most cases, the text style for the inserted text will match the text immediately before the insertion index. Some control characters (U+0000-U+0008, U+000C-U+001F) and characters from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF) will be stripped out of the inserted text.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Link": {
      "description": "A reference to another portion of a document or an external URL resource.",
      "id": "Link",
      "properties": {
        "bookmarkId": {
          "description": "The ID of a bookmark in this document.",
          "type": "string"
        },
        "headingId": {
          "description": "The ID of a heading in this document.",
          "type": "string"
        },
        "url": {
          "description": "An external URL.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LinkedContentReference": {
      "description": "A reference to the external linked source content.",
      "id": "LinkedContentReference",
      "properties": {
        "sheetsChartReference": {
          "$ref": "SheetsChartReference",
          "description": "A reference to the linked chart."
        }
      },
      "type": "object"
    },
    "LinkedContentReferenceSuggestionState": {
      "description": "A mask that indicates which of the fields on the base LinkedContentReference have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "LinkedContentReferenceSuggestionState",
      "properties": {
        "sheetsChartReferenceSuggestionState": {
          "$ref": "SheetsChartReferenceSuggestionState",
          "description": "A mask that indicates which of the fields in sheets_chart_reference have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "List": {
      "description": "A List represents the list attributes for a group of paragraphs that all belong to the same list. A paragraph that is part of a list has a reference to the list's ID in its bullet.",
      "id": "List",
      "properties": {
        "listProperties": {
          "$ref": "ListProperties",
          "description": "The properties of the list."
        },
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this list.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionId": {
          "description": "The suggested insertion ID. If empty, then this is not a suggested insertion.",
          "type": "string"
        },
        "suggestedListPropertiesChanges": {
          "additionalProperties": {
            "$ref": "SuggestedListProperties"
          },
          "description": "The suggested changes to the list properties, keyed by suggestion ID.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "ListProperties": {
      "description": "The properties of a list which describe the look and feel of bullets belonging to paragraphs associated with a list.",
      "id": "ListProperties",
      "properties": {
        "nestingLevels": {
          "description": "Describes the properties of the bullets at the associated level. A list has at most nine levels of nesting with nesting level 0 corresponding to the top-most level and nesting level 8 corresponding to the most nested level. The nesting levels are returned in ascending order with the least nested returned first.",
          "items": {
            "$ref": "NestingLevel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListPropertiesSuggestionState": {
      "description": "A mask that indicates which of the fields on the base ListProperties have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "ListPropertiesSuggestionState",
      "properties": {
        "nestingLevelsSuggestionStates": {
          "description": "A mask that indicates which of the fields on the corresponding NestingLevel in nesting_levels have been changed in this suggestion. The nesting level suggestion states are returned in ascending order of the nesting level with the least nested returned first.",
          "items": {
            "$ref": "NestingLevelSuggestionState"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Location": {
      "description": "A particular location in the document.",
      "id": "Location",
      "properties": {
        "index": {
          "description": "The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id.",
          "format": "int32",
          "type": "integer"
        },
        "segmentId": {
          "description": "The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MergeTableCellsRequest": {
      "description": "Merges cells in a Table.",
      "id": "MergeTableCellsRequest",
      "properties": {
        "tableRange": {
          "$ref": "TableRange",
          "description": "The table range specifying which cells of the table to merge. Any text in the cells being merged will be concatenated and stored in the \"head\" cell of the range. This is the upper-left cell of the range when the content direction is left to right, and the upper-right cell of the range otherwise. If the range is non-rectangular (which can occur in some cases where the range covers cells that are already merged or where the table is non-rectangular), a 400 bad request error is returned."
        }
      },
      "type": "object"
    },
    "NamedRange": {
      "description": "A collection of Ranges with the same named range ID. Named ranges allow developers to associate parts of a document with an arbitrary user-defined label so their contents can be programmatically read or edited at a later time. A document can contain multiple named ranges with the same name, but every named range has a unique ID. A named range is created with a single Range, and content inserted inside a named range generally expands that range. However, certain document changes can cause the range to be split into multiple ranges. Named ranges are not private. All applications and collaborators that have access to the document can see its named ranges.",
      "id": "NamedRange",
      "properties": {
        "name": {
          "description": "The name of the named range.",
          "type": "string"
        },
        "namedRangeId": {
          "description": "The ID of the named range.",
          "type": "string"
        },
        "ranges": {
          "description": "The ranges that belong to this named range.",
          "items": {
            "$ref": "Range"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NamedRanges": {
      "description": "A collection of all the NamedRanges in the document that share a given name.",
      "id": "NamedRanges",
      "properties": {
        "name": {
          "description": "The name that all the named ranges share.",
          "type": "string"
        },
        "namedRanges": {
          "description": "The NamedRanges that share the same name.",
          "items": {
            "$ref": "NamedRange"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NamedStyle": {
      "description": "A named style. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from this named style when they have the same named style type.",
      "id": "NamedStyle",
      "properties": {
        "namedStyleType": {
          "description": "The type of this named style.",
          "enum": [
            "NAMED_STYLE_TYPE_UNSPECIFIED",
            "NORMAL_TEXT",
            "TITLE",
            "SUBTITLE",
            "HEADING_1",
            "HEADING_2",
            "HEADING_3",
            "HEADING_4",
            "HEADING_5",
            "HEADING_6"
          ],
          "enumDescriptions": [
            "The type of named style is unspecified.",
            "Normal text.",
            "Title.",
            "Subtitle.",
            "Heading 1.",
            "Heading 2.",
            "Heading 3.",
            "Heading 4.",
            "Heading 5.",
            "Heading 6."
          ],
          "type": "string"
        },
        "paragraphStyle": {
          "$ref": "ParagraphStyle",
          "description": "The paragraph style of this named style."
        },
        "textStyle": {
          "$ref": "TextStyle",
          "description": "The text style of this named style."
        }
      },
      "type": "object"
    },
    "NamedStyleSuggestionState": {
      "description": "A suggestion state of a NamedStyle message.",
      "id": "NamedStyleSuggestionState",
      "properties": {
        "namedStyleType": {
          "description": "The named style type that this suggestion state corresponds to. This field is provided as a convenience for matching the NamedStyleSuggestionState with its corresponding NamedStyle.",
          "enum": [
            "NAMED_STYLE_TYPE_UNSPECIFIED",
            "NORMAL_TEXT",
            "TITLE",
            "SUBTITLE",
            "HEADING_1",
            "HEADING_2",
            "HEADING_3",
            "HEADING_4",
            "HEADING_5",
            "HEADING_6"
          ],
          "enumDescriptions": [
            "The type of named style is unspecified.",
            "Normal text.",
            "Title.",
            "Subtitle.",
            "Heading 1.",
            "Heading 2.",
            "Heading 3.",
            "Heading 4.",
            "Heading 5.",
            "Heading 6."
          ],
          "type": "string"
        },
        "paragraphStyleSuggestionState": {
          "$ref": "ParagraphStyleSuggestionState",
          "description": "A mask that indicates which of the fields in paragraph style have been changed in this suggestion."
        },
        "textStyleSuggestionState": {
          "$ref": "TextStyleSuggestionState",
          "description": "A mask that indicates which of the fields in text style have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "NamedStyles": {
      "description": "The named styles. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from these named styles.",
      "id": "NamedStyles",
      "properties": {
        "styles": {
          "description": "The named styles. There is an entry for each of the possible named style types.",
          "items": {
            "$ref": "NamedStyle"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NamedStylesSuggestionState": {
      "description": "The suggestion state of a NamedStyles message.",
      "id": "NamedStylesSuggestionState",
      "properties": {
        "stylesSuggestionStates": {
          "description": "A mask that indicates which of the fields on the corresponding NamedStyle in styles have been changed in this suggestion. The order of these named style suggestion states match the order of the corresponding named style within the named styles suggestion.",
          "items": {
            "$ref": "NamedStyleSuggestionState"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NestingLevel": {
      "description": "Contains properties describing the look and feel of a list bullet at a given level of nesting.",
      "id": "NestingLevel",
      "properties": {
        "bulletAlignment": {
          "description": "The alignment of the bullet within the space allotted for rendering the bullet.",
          "enum": [
            "BULLET_ALIGNMENT_UNSPECIFIED",
            "START",
            "CENTER",
            "END"
          ],
          "enumDescriptions": [
            "The bullet alignment is unspecified.",
            "The bullet is aligned to the start of the space allotted for rendering the bullet. Left-aligned for LTR text, right-aligned otherwise.",
            "The bullet is aligned to the center of the space allotted for rendering the bullet.",
            "The bullet is aligned to the end of the space allotted for rendering the bullet. Right-aligned for LTR text, left-aligned otherwise."
          ],
          "type": "string"
        },
        "glyphFormat": {
          "description": "The format string used by bullets at this level of nesting. The glyph format contains one or more placeholders, and these placeholder are replaced with the appropriate values depending on the glyph_type or glyph_symbol. The placeholders follow the pattern `%[nesting_level]`. Furthermore, placeholders can have prefixes and suffixes. Thus, the glyph format follows the pattern `%[nesting_level]`. Note that the prefix and suffix are optional and can be arbitrary strings. For example, the glyph format `%0.` indicates that the rendered glyph will replace the placeholder with the corresponding glyph for nesting level 0 followed by a period as the suffix. So a list with a glyph type of UPPER_ALPHA and glyph format `%0.` at nesting level 0 will result in a list with rendered glyphs `A.` `B.` `C.` The glyph format can contain placeholders for the current nesting level as well as placeholders for parent nesting levels. For example, a list can have a glyph format of `%0.` at nesting level 0 and a glyph format of `%0.%1.` at nesting level 1. Assuming both nesting levels have DECIMAL glyph types, this would result in a list with rendered glyphs `1.` `2.` ` 2.1.` ` 2.2.` `3.` For nesting levels that are ordered, the string that replaces a placeholder in the glyph format for a particular paragraph depends on the paragraph's order within the list.",
          "type": "string"
        },
        "glyphSymbol": {
          "description": "A custom glyph symbol used by bullets when paragraphs at this level of nesting are unordered. The glyph symbol replaces placeholders within the glyph_format. For example, if the glyph_symbol is the solid circle corresponding to Unicode U+25cf code point and the glyph_format is `%0`, the rendered glyph would be the solid circle.",
          "type": "string"
        },
        "glyphType": {
          "description": "The type of glyph used by bullets when paragraphs at this level of nesting are ordered. The glyph type determines the type of glyph used to replace placeholders within the glyph_format when paragraphs at this level of nesting are ordered. For example, if the nesting level is 0, the glyph_format is `%0.` and the glyph type is DECIMAL, then the rendered glyph would replace the placeholder `%0` in the glyph format with a number corresponding to list item's order within the list.",
          "enum": [
            "GLYPH_TYPE_UNSPECIFIED",
            "NONE",
            "DECIMAL",
            "ZERO_DECIMAL",
            "UPPER_ALPHA",
            "ALPHA",
            "UPPER_ROMAN",
            "ROMAN"
          ],
          "enumDescriptions": [
            "The glyph type is unspecified or unsupported.",
            "An empty string.",
            "A number, like `1`, `2`, or `3`.",
            "A number where single digit numbers are prefixed with a zero, like `01`, `02`, or `03`. Numbers with more than one digit are not prefixed with a zero.",
            "An uppercase letter, like `A`, `B`, or `C`.",
            "A lowercase letter, like `a`, `b`, or `c`.",
            "An uppercase Roman numeral, like `I`, `II`, or `III`.",
            "A lowercase Roman numeral, like `i`, `ii`, or `iii`."
          ],
          "type": "string"
        },
        "indentFirstLine": {
          "$ref": "Dimension",
          "description": "The amount of indentation for the first line of paragraphs at this level of nesting."
        },
        "indentStart": {
          "$ref": "Dimension",
          "description": "The amount of indentation for paragraphs at this level of nesting. Applied to the side that corresponds to the start of the text, based on the paragraph's content direction."
        },
        "startNumber": {
          "description": "The number of the first list item at this nesting level. A value of 0 is treated as a value of 1 for lettered lists and roman numeraled lists, i.e. for values of both 0 and 1, lettered and roman numeraled lists will begin at `a` and `i` respectively. This value is ignored for nesting levels with unordered glyphs.",
          "format": "int32",
          "type": "integer"
        },
        "textStyle": {
          "$ref": "TextStyle",
          "description": "The text style of bullets at this level of nesting."
        }
      },
      "type": "object"
    },
    "NestingLevelSuggestionState": {
      "description": "A mask that indicates which of the fields on the base NestingLevel have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "NestingLevelSuggestionState",
      "properties": {
        "bulletAlignmentSuggested": {
          "description": "Indicates if there was a suggested change to bullet_alignment.",
          "type": "boolean"
        },
        "glyphFormatSuggested": {
          "description": "Indicates if there was a suggested change to glyph_format.",
          "type": "boolean"
        },
        "glyphSymbolSuggested": {
          "description": "Indicates if there was a suggested change to glyph_symbol.",
          "type": "boolean"
        },
        "glyphTypeSuggested": {
          "description": "Indicates if there was a suggested change to glyph_type.",
          "type": "boolean"
        },
        "indentFirstLineSuggested": {
          "description": "Indicates if there was a suggested change to indent_first_line.",
          "type": "boolean"
        },
        "indentStartSuggested": {
          "description": "Indicates if there was a suggested change to indent_start.",
          "type": "boolean"
        },
        "startNumberSuggested": {
          "description": "Indicates if there was a suggested change to start_number.",
          "type": "boolean"
        },
        "textStyleSuggestionState": {
          "$ref": "TextStyleSuggestionState",
          "description": "A mask that indicates which of the fields in text style have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "ObjectReferences": {
      "description": "A collection of object IDs.",
      "id": "ObjectReferences",
      "properties": {
        "objectIds": {
          "description": "The object IDs.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "OptionalColor": {
      "description": "A color that can either be fully opaque or fully transparent.",
      "id": "OptionalColor",
      "properties": {
        "color": {
          "$ref": "Color",
          "description": "If set, this will be used as an opaque color. If unset, this represents a transparent color."
        }
      },
      "type": "object"
    },
    "PageBreak": {
      "description": "A ParagraphElement representing a page break. A page break makes the subsequent text start at the top of the next page.",
      "id": "PageBreak",
      "properties": {
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "The suggested insertion IDs. A PageBreak may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedTextStyleChanges": {
          "additionalProperties": {
            "$ref": "SuggestedTextStyle"
          },
          "description": "The suggested text style changes to this PageBreak, keyed by suggestion ID.",
          "type": "object"
        },
        "textStyle": {
          "$ref": "TextStyle",
          "description": "The text style of this PageBreak. Similar to text content, like text runs and footnote references, the text style of a page break can affect content layout as well as the styling of text inserted adjacent to it."
        }
      },
      "type": "object"
    },
    "Paragraph": {
      "description": "A StructuralElement representing a paragraph. A paragraph is a range of content that is terminated with a newline character.",
      "id": "Paragraph",
      "properties": {
        "bullet": {
          "$ref": "Bullet",
          "description": "The bullet for this paragraph. If not present, the paragraph does not belong to a list."
        },
        "elements": {
          "description": "The content of the paragraph broken down into its component parts.",
          "items": {
            "$ref": "ParagraphElement"
          },
          "type": "array"
        },
        "paragraphStyle": {
          "$ref": "ParagraphStyle",
          "description": "The style of this paragraph."
        },
        "positionedObjectIds": {
          "description": "The IDs of the positioned objects tethered to this paragraph.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedBulletChanges": {
          "additionalProperties": {
            "$ref": "SuggestedBullet"
          },
          "description": "The suggested changes to this paragraph's bullet.",
          "type": "object"
        },
        "suggestedParagraphStyleChanges": {
          "additionalProperties": {
            "$ref": "SuggestedParagraphStyle"
          },
          "description": "The suggested paragraph style changes to this paragraph, keyed by suggestion ID.",
          "type": "object"
        },
        "suggestedPositionedObjectIds": {
          "additionalProperties": {
            "$ref": "ObjectReferences"
          },
          "description": "The IDs of the positioned objects that are suggested to be attached to this paragraph, keyed by suggestion ID.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "ParagraphBorder": {
      "description": "A border around a paragraph.",
      "id": "ParagraphBorder",
      "properties": {
        "color": {
          "$ref": "OptionalColor",
          "description": "The color of the border."
        },
        "dashStyle": {
          "description": "The dash style of the border.",
          "enum": [
            "DASH_STYLE_UNSPECIFIED",
            "SOLID",
            "DOT",
            "DASH"
          ],
          "enumDescriptions": [
            "Unspecified dash style.",
            "Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'. This is the default dash style.",
            "Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.",
            "Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'."
          ],
          "type": "string"
        },
        "padding": {
          "$ref": "Dimension",
          "description": "The padding of the border."
        },
        "width": {
          "$ref": "Dimension",
          "description": "The width of the border."
        }
      },
      "type": "object"
    },
    "ParagraphElement": {
      "description": "A ParagraphElement describes content within a Paragraph.",
      "id": "ParagraphElement",
      "properties": {
        "autoText": {
          "$ref": "AutoText",
          "description": "An auto text paragraph element."
        },
        "columnBreak": {
          "$ref": "ColumnBreak",
          "description": "A column break paragraph element."
        },
        "endIndex": {
          "description": "The zero-base end index of this paragraph element, exclusive, in UTF-16 code units.",
          "format": "int32",
          "type": "integer"
        },
        "equation": {
          "$ref": "Equation",
          "description": "An equation paragraph element."
        },
        "footnoteReference": {
          "$ref": "FootnoteReference",
          "description": "A footnote reference paragraph element."
        },
        "horizontalRule": {
          "$ref": "HorizontalRule",
          "description": "A horizontal rule paragraph element."
        },
        "inlineObjectElement": {
          "$ref": "InlineObjectElement",
          "description": "An inline object paragraph element."
        },
        "pageBreak": {
          "$ref": "PageBreak",
          "description": "A page break paragraph element."
        },
        "startIndex": {
          "description": "The zero-based start index of this paragraph element, in UTF-16 code units.",
          "format": "int32",
          "type": "integer"
        },
        "textRun": {
          "$ref": "TextRun",
          "description": "A text run paragraph element."
        }
      },
      "type": "object"
    },
    "ParagraphStyle": {
      "description": "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 is 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.",
      "id": "ParagraphStyle",
      "properties": {
        "alignment": {
          "description": "The text alignment for this paragraph.",
          "enum": [
            "ALIGNMENT_UNSPECIFIED",
            "START",
            "CENTER",
            "END",
            "JUSTIFIED"
          ],
          "enumDescriptions": [
            "The paragraph alignment is inherited from the parent.",
            "The paragraph is aligned to the start of the line. Left-aligned for LTR text, right-aligned otherwise.",
            "The paragraph is centered.",
            "The paragraph is aligned to the end of the line. Right-aligned for LTR text, left-aligned otherwise.",
            "The paragraph is justified."
          ],
          "type": "string"
        },
        "avoidWidowAndOrphan": {
          "description": "Whether to avoid widows and orphans for the paragraph. If unset, the value is inherited from the parent.",
          "type": "boolean"
        },
        "borderBetween": {
          "$ref": "ParagraphBorder",
          "description": "The border between this paragraph and the next and previous paragraphs. If unset, the value is inherited from the parent. The between border is rendered when the adjacent paragraph has the same border and indent properties. Paragraph borders cannot be partially updated. When making changes to a paragraph border the new border must be specified in its entirety."
        },
        "borderBottom": {
          "$ref": "ParagraphBorder",
          "description": "The border at the bottom of this paragraph. If unset, the value is inherited from the parent. The bottom border is rendered when the paragraph below has different border and indent properties. Paragraph borders cannot be partially updated. When making changes to a paragraph border the new border must be specified in its entirety."
        },
        "borderLeft": {
          "$ref": "ParagraphBorder",
          "description": "The border to the left of this paragraph. If unset, the value is inherited from the parent. Paragraph borders cannot be partially updated. When making changes to a paragraph border the new border must be specified in its entirety."
        },
        "borderRight": {
          "$ref": "ParagraphBorder",
          "description": "The border to the right of this paragraph. If unset, the value is inherited from the parent. Paragraph borders cannot be partially updated. When making changes to a paragraph border the new border must be specified in its entirety."
        },
        "borderTop": {
          "$ref": "ParagraphBorder",
          "description": "The border at the top of this paragraph. If unset, the value is inherited from the parent. The top border is rendered when the paragraph above has different border and indent properties. Paragraph borders cannot be partially updated. When making changes to a paragraph border the new border must be specified in its entirety."
        },
        "direction": {
          "description": "The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since paragraph direction is not inherited.",
          "enum": [
            "CONTENT_DIRECTION_UNSPECIFIED",
            "LEFT_TO_RIGHT",
            "RIGHT_TO_LEFT"
          ],
          "enumDescriptions": [
            "The content direction is unspecified.",
            "The content goes from left to right.",
            "The content goes from right to left."
          ],
          "type": "string"
        },
        "headingId": {
          "description": "The heading ID of the paragraph. If empty, then this paragraph is not a heading. This property is read-only.",
          "type": "string"
        },
        "indentEnd": {
          "$ref": "Dimension",
          "description": "The amount of indentation for the paragraph on the side that corresponds to the end of the text, based on the current paragraph direction. If unset, the value is inherited from the parent."
        },
        "indentFirstLine": {
          "$ref": "Dimension",
          "description": "The amount of indentation for the first line of the paragraph. If unset, the value is inherited from the parent."
        },
        "indentStart": {
          "$ref": "Dimension",
          "description": "The amount of indentation for the paragraph on the side that corresponds to the start of the text, based on the current paragraph direction. If unset, the value is inherited from the parent."
        },
        "keepLinesTogether": {
          "description": "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.",
          "type": "boolean"
        },
        "keepWithNext": {
          "description": "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.",
          "type": "boolean"
        },
        "lineSpacing": {
          "description": "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.",
          "format": "float",
          "type": "number"
        },
        "namedStyleType": {
          "description": "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.",
          "enum": [
            "NAMED_STYLE_TYPE_UNSPECIFIED",
            "NORMAL_TEXT",
            "TITLE",
            "SUBTITLE",
            "HEADING_1",
            "HEADING_2",
            "HEADING_3",
            "HEADING_4",
            "HEADING_5",
            "HEADING_6"
          ],
          "enumDescriptions": [
            "The type of named style is unspecified.",
            "Normal text.",
            "Title.",
            "Subtitle.",
            "Heading 1.",
            "Heading 2.",
            "Heading 3.",
            "Heading 4.",
            "Heading 5.",
            "Heading 6."
          ],
          "type": "string"
        },
        "shading": {
          "$ref": "Shading",
          "description": "The shading of the paragraph. If unset, the value is inherited from the parent."
        },
        "spaceAbove": {
          "$ref": "Dimension",
          "description": "The amount of extra space above the paragraph. If unset, the value is inherited from the parent."
        },
        "spaceBelow": {
          "$ref": "Dimension",
          "description": "The amount of extra space below the paragraph. If unset, the value is inherited from the parent."
        },
        "spacingMode": {
          "description": "The spacing mode for the paragraph.",
          "enum": [
            "SPACING_MODE_UNSPECIFIED",
            "NEVER_COLLAPSE",
            "COLLAPSE_LISTS"
          ],
          "enumDescriptions": [
            "The spacing mode is inherited from the parent.",
            "Paragraph spacing is always rendered.",
            "Paragraph spacing is skipped between list elements."
          ],
          "type": "string"
        },
        "tabStops": {
          "description": "A list of the tab stops for this paragraph. The list of tab stops is not inherited. This property is read-only.",
          "items": {
            "$ref": "TabStop"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ParagraphStyleSuggestionState": {
      "description": "A mask that indicates which of the fields on the base ParagraphStyle have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "ParagraphStyleSuggestionState",
      "properties": {
        "alignmentSuggested": {
          "description": "Indicates if there was a suggested change to alignment.",
          "type": "boolean"
        },
        "avoidWidowAndOrphanSuggested": {
          "description": "Indicates if there was a suggested change to avoid_widow_and_orphan.",
          "type": "boolean"
        },
        "borderBetweenSuggested": {
          "description": "Indicates if there was a suggested change to border_between.",
          "type": "boolean"
        },
        "borderBottomSuggested": {
          "description": "Indicates if there was a suggested change to border_bottom.",
          "type": "boolean"
        },
        "borderLeftSuggested": {
          "description": "Indicates if there was a suggested change to border_left.",
          "type": "boolean"
        },
        "borderRightSuggested": {
          "description": "Indicates if there was a suggested change to border_right.",
          "type": "boolean"
        },
        "borderTopSuggested": {
          "description": "Indicates if there was a suggested change to border_top.",
          "type": "boolean"
        },
        "directionSuggested": {
          "description": "Indicates if there was a suggested change to direction.",
          "type": "boolean"
        },
        "headingIdSuggested": {
          "description": "Indicates if there was a suggested change to heading_id.",
          "type": "boolean"
        },
        "indentEndSuggested": {
          "description": "Indicates if there was a suggested change to indent_end.",
          "type": "boolean"
        },
        "indentFirstLineSuggested": {
          "description": "Indicates if there was a suggested change to indent_first_line.",
          "type": "boolean"
        },
        "indentStartSuggested": {
          "description": "Indicates if there was a suggested change to indent_start.",
          "type": "boolean"
        },
        "keepLinesTogetherSuggested": {
          "description": "Indicates if there was a suggested change to keep_lines_together.",
          "type": "boolean"
        },
        "keepWithNextSuggested": {
          "description": "Indicates if there was a suggested change to keep_with_next.",
          "type": "boolean"
        },
        "lineSpacingSuggested": {
          "description": "Indicates if there was a suggested change to line_spacing.",
          "type": "boolean"
        },
        "namedStyleTypeSuggested": {
          "description": "Indicates if there was a suggested change to named_style_type.",
          "type": "boolean"
        },
        "shadingSuggestionState": {
          "$ref": "ShadingSuggestionState",
          "description": "A mask that indicates which of the fields in shading have been changed in this suggestion."
        },
        "spaceAboveSuggested": {
          "description": "Indicates if there was a suggested change to space_above.",
          "type": "boolean"
        },
        "spaceBelowSuggested": {
          "description": "Indicates if there was a suggested change to space_below.",
          "type": "boolean"
        },
        "spacingModeSuggested": {
          "description": "Indicates if there was a suggested change to spacing_mode.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "PositionedObject": {
      "description": "An object that is tethered to a Paragraph and positioned relative to the beginning of the paragraph. A PositionedObject contains an EmbeddedObject such as an image.",
      "id": "PositionedObject",
      "properties": {
        "objectId": {
          "description": "The ID of this positioned object.",
          "type": "string"
        },
        "positionedObjectProperties": {
          "$ref": "PositionedObjectProperties",
          "description": "The properties of this positioned object."
        },
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionId": {
          "description": "The suggested insertion ID. If empty, then this is not a suggested insertion.",
          "type": "string"
        },
        "suggestedPositionedObjectPropertiesChanges": {
          "additionalProperties": {
            "$ref": "SuggestedPositionedObjectProperties"
          },
          "description": "The suggested changes to the positioned object properties, keyed by suggestion ID.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "PositionedObjectPositioning": {
      "description": "The positioning of a PositionedObject. The positioned object is positioned relative to the beginning of the Paragraph it is tethered to.",
      "id": "PositionedObjectPositioning",
      "properties": {
        "layout": {
          "description": "The layout of this positioned object.",
          "enum": [
            "POSITIONED_OBJECT_LAYOUT_UNSPECIFIED",
            "WRAP_TEXT",
            "BREAK_LEFT",
            "BREAK_RIGHT",
            "BREAK_LEFT_RIGHT",
            "IN_FRONT_OF_TEXT"
          ],
          "enumDescriptions": [
            "The layout is unspecified.",
            "The text wraps around the positioned object.",
            "Breaks text such that the positioned object is on the left and text is on the right.",
            "Breaks text such that the positioned object is on the right and text is on the left.",
            "Breaks text such that there is no text on the left or right of the positioned object.",
            "The positioned object is in front of the text."
          ],
          "type": "string"
        },
        "leftOffset": {
          "$ref": "Dimension",
          "description": "The offset of the left edge of the positioned object relative to the beginning of the Paragraph it is tethered to. The exact positioning of the object can depend on other content in the document and the document's styling."
        },
        "topOffset": {
          "$ref": "Dimension",
          "description": "The offset of the top edge of the positioned object relative to the beginning of the Paragraph it is tethered to. The exact positioning of the object can depend on other content in the document and the document's styling."
        }
      },
      "type": "object"
    },
    "PositionedObjectPositioningSuggestionState": {
      "description": "A mask that indicates which of the fields on the base PositionedObjectPositioning have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "PositionedObjectPositioningSuggestionState",
      "properties": {
        "layoutSuggested": {
          "description": "Indicates if there was a suggested change to layout.",
          "type": "boolean"
        },
        "leftOffsetSuggested": {
          "description": "Indicates if there was a suggested change to left_offset.",
          "type": "boolean"
        },
        "topOffsetSuggested": {
          "description": "Indicates if there was a suggested change to top_offset.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "PositionedObjectProperties": {
      "description": "Properties of a PositionedObject.",
      "id": "PositionedObjectProperties",
      "properties": {
        "embeddedObject": {
          "$ref": "EmbeddedObject",
          "description": "The embedded object of this positioned object."
        },
        "positioning": {
          "$ref": "PositionedObjectPositioning",
          "description": "The positioning of this positioned object relative to the newline of the Paragraph that references this positioned object."
        }
      },
      "type": "object"
    },
    "PositionedObjectPropertiesSuggestionState": {
      "description": "A mask that indicates which of the fields on the base PositionedObjectProperties have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "PositionedObjectPropertiesSuggestionState",
      "properties": {
        "embeddedObjectSuggestionState": {
          "$ref": "EmbeddedObjectSuggestionState",
          "description": "A mask that indicates which of the fields in embedded_object have been changed in this suggestion."
        },
        "positioningSuggestionState": {
          "$ref": "PositionedObjectPositioningSuggestionState",
          "description": "A mask that indicates which of the fields in positioning have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "Range": {
      "description": "Specifies a contiguous range of text.",
      "id": "Range",
      "properties": {
        "endIndex": {
          "description": "The zero-based end index of this range, exclusive, in UTF-16 code units. In all current uses, an end index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.",
          "format": "int32",
          "type": "integer"
        },
        "segmentId": {
          "description": "The ID of the header, footer or footnote that this range is contained in. An empty segment ID signifies the document's body.",
          "type": "string"
        },
        "startIndex": {
          "description": "The zero-based start index of this range, in UTF-16 code units. In all current uses, a start index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ReplaceAllTextRequest": {
      "description": "Replaces all instances of text matching a criteria with replace text.",
      "id": "ReplaceAllTextRequest",
      "properties": {
        "containsText": {
          "$ref": "SubstringMatchCriteria",
          "description": "Finds text in the document matching this substring."
        },
        "replaceText": {
          "description": "The text that will replace the matched text.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReplaceAllTextResponse": {
      "description": "The result of replacing text.",
      "id": "ReplaceAllTextResponse",
      "properties": {
        "occurrencesChanged": {
          "description": "The number of occurrences changed by replacing all text.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ReplaceImageRequest": {
      "description": "Replaces an existing image with a new image. Replacing an image removes some image effects from the existing image in order to mirror the behavior of the Docs editor.",
      "id": "ReplaceImageRequest",
      "properties": {
        "imageObjectId": {
          "description": "The ID of the existing image that will be replaced.",
          "type": "string"
        },
        "imageReplaceMethod": {
          "description": "The replacement method.",
          "enum": [
            "IMAGE_REPLACE_METHOD_UNSPECIFIED",
            "CENTER_CROP"
          ],
          "enumDescriptions": [
            "Unspecified image replace method. This value must not be used.",
            "Scales and centers the image to fill the bounds of the original image. The image may be cropped in order to fill the original image's bounds. The rendered size of the image will be the same as that of the original image."
          ],
          "type": "string"
        },
        "uri": {
          "description": "The URI of the new image. The image is fetched once at insertion time and a copy is stored for display inside the document. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URI can be at most 2 kB in length. The URI itself is saved with the image, and exposed via the ImageProperties.source_uri field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReplaceNamedRangeContentRequest": {
      "description": "Replaces the contents of the specified NamedRange or NamedRanges with the given replacement content. Note that an individual NamedRange may consist of multiple discontinuous ranges. In this case, only the content in the first range will be replaced. The other ranges and their content will be deleted. In cases where replacing or deleting any ranges would result in an invalid document structure, a 400 bad request error is returned.",
      "id": "ReplaceNamedRangeContentRequest",
      "properties": {
        "namedRangeId": {
          "description": "The ID of the named range whose content will be replaced. If there is no named range with the given ID a 400 bad request error is returned.",
          "type": "string"
        },
        "namedRangeName": {
          "description": "The name of the NamedRanges whose content will be replaced. If there are multiple named ranges with the given name, then the content of each one will be replaced. If there are no named ranges with the given name, then the request will be a no-op.",
          "type": "string"
        },
        "text": {
          "description": "Replaces the content of the specified named range(s) with the given text.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Request": {
      "description": "A single update to apply to a document.",
      "id": "Request",
      "properties": {
        "createFooter": {
          "$ref": "CreateFooterRequest",
          "description": "Creates a footer."
        },
        "createFootnote": {
          "$ref": "CreateFootnoteRequest",
          "description": "Creates a footnote."
        },
        "createHeader": {
          "$ref": "CreateHeaderRequest",
          "description": "Creates a header."
        },
        "createNamedRange": {
          "$ref": "CreateNamedRangeRequest",
          "description": "Creates a named range."
        },
        "createParagraphBullets": {
          "$ref": "CreateParagraphBulletsRequest",
          "description": "Creates bullets for paragraphs."
        },
        "deleteContentRange": {
          "$ref": "DeleteContentRangeRequest",
          "description": "Deletes content from the document."
        },
        "deleteFooter": {
          "$ref": "DeleteFooterRequest",
          "description": "Deletes a footer from the document."
        },
        "deleteHeader": {
          "$ref": "DeleteHeaderRequest",
          "description": "Deletes a header from the document."
        },
        "deleteNamedRange": {
          "$ref": "DeleteNamedRangeRequest",
          "description": "Deletes a named range."
        },
        "deleteParagraphBullets": {
          "$ref": "DeleteParagraphBulletsRequest",
          "description": "Deletes bullets from paragraphs."
        },
        "deletePositionedObject": {
          "$ref": "DeletePositionedObjectRequest",
          "description": "Deletes a positioned object from the document."
        },
        "deleteTableColumn": {
          "$ref": "DeleteTableColumnRequest",
          "description": "Deletes a column from a table."
        },
        "deleteTableRow": {
          "$ref": "DeleteTableRowRequest",
          "description": "Deletes a row from a table."
        },
        "insertInlineImage": {
          "$ref": "InsertInlineImageRequest",
          "description": "Inserts an inline image at the specified location."
        },
        "insertPageBreak": {
          "$ref": "InsertPageBreakRequest",
          "description": "Inserts a page break at the specified location."
        },
        "insertSectionBreak": {
          "$ref": "InsertSectionBreakRequest",
          "description": "Inserts a section break at the specified location."
        },
        "insertTable": {
          "$ref": "InsertTableRequest",
          "description": "Inserts a table at the specified location."
        },
        "insertTableColumn": {
          "$ref": "InsertTableColumnRequest",
          "description": "Inserts an empty column into a table."
        },
        "insertTableRow": {
          "$ref": "InsertTableRowRequest",
          "description": "Inserts an empty row into a table."
        },
        "insertText": {
          "$ref": "InsertTextRequest",
          "description": "Inserts text at the specified location."
        },
        "mergeTableCells": {
          "$ref": "MergeTableCellsRequest",
          "description": "Merges cells in a table."
        },
        "replaceAllText": {
          "$ref": "ReplaceAllTextRequest",
          "description": "Replaces all instances of the specified text."
        },
        "replaceImage": {
          "$ref": "ReplaceImageRequest",
          "description": "Replaces an image in the document."
        },
        "replaceNamedRangeContent": {
          "$ref": "ReplaceNamedRangeContentRequest",
          "description": "Replaces the content in a named range."
        },
        "unmergeTableCells": {
          "$ref": "UnmergeTableCellsRequest",
          "description": "Unmerges cells in a table."
        },
        "updateDocumentStyle": {
          "$ref": "UpdateDocumentStyleRequest",
          "description": "Updates the style of the document."
        },
        "updateParagraphStyle": {
          "$ref": "UpdateParagraphStyleRequest",
          "description": "Updates the paragraph style at the specified range."
        },
        "updateSectionStyle": {
          "$ref": "UpdateSectionStyleRequest",
          "description": "Updates the section style of the specified range."
        },
        "updateTableCellStyle": {
          "$ref": "UpdateTableCellStyleRequest",
          "description": "Updates the style of table cells."
        },
        "updateTableColumnProperties": {
          "$ref": "UpdateTableColumnPropertiesRequest",
          "description": "Updates the properties of columns in a table."
        },
        "updateTableRowStyle": {
          "$ref": "UpdateTableRowStyleRequest",
          "description": "Updates the row style in a table."
        },
        "updateTextStyle": {
          "$ref": "UpdateTextStyleRequest",
          "description": "Updates the text style at the specified range."
        }
      },
      "type": "object"
    },
    "Response": {
      "description": "A single response from an update.",
      "id": "Response",
      "properties": {
        "createFooter": {
          "$ref": "CreateFooterResponse",
          "description": "The result of creating a footer."
        },
        "createFootnote": {
          "$ref": "CreateFootnoteResponse",
          "description": "The result of creating a footnote."
        },
        "createHeader": {
          "$ref": "CreateHeaderResponse",
          "description": "The result of creating a header."
        },
        "createNamedRange": {
          "$ref": "CreateNamedRangeResponse",
          "description": "The result of creating a named range."
        },
        "insertInlineImage": {
          "$ref": "InsertInlineImageResponse",
          "description": "The result of inserting an inline image."
        },
        "insertInlineSheetsChart": {
          "$ref": "InsertInlineSheetsChartResponse",
          "description": "The result of inserting an inline Google Sheets chart."
        },
        "replaceAllText": {
          "$ref": "ReplaceAllTextResponse",
          "description": "The result of replacing text."
        }
      },
      "type": "object"
    },
    "RgbColor": {
      "description": "An RGB color.",
      "id": "RgbColor",
      "properties": {
        "blue": {
          "description": "The blue component of the color, from 0.0 to 1.0.",
          "format": "float",
          "type": "number"
        },
        "green": {
          "description": "The green component of the color, from 0.0 to 1.0.",
          "format": "float",
          "type": "number"
        },
        "red": {
          "description": "The red component of the color, from 0.0 to 1.0.",
          "format": "float",
          "type": "number"
        }
      },
      "type": "object"
    },
    "SectionBreak": {
      "description": "A StructuralElement representing a section break. A section is a range of content which 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.",
      "id": "SectionBreak",
      "properties": {
        "sectionStyle": {
          "$ref": "SectionStyle",
          "description": "The style of the section after this section break."
        },
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "The suggested insertion IDs. A SectionBreak may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SectionColumnProperties": {
      "description": "Properties that apply to a section's column.",
      "id": "SectionColumnProperties",
      "properties": {
        "paddingEnd": {
          "$ref": "Dimension",
          "description": "The padding at the end of the column."
        },
        "width": {
          "$ref": "Dimension",
          "description": "Output only. The width of the column."
        }
      },
      "type": "object"
    },
    "SectionStyle": {
      "description": "The styling that applies to a section.",
      "id": "SectionStyle",
      "properties": {
        "columnProperties": {
          "description": "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 three columns. When updating this property, setting a concrete value is required. Unsetting this property will result in a 400 bad request error.",
          "items": {
            "$ref": "SectionColumnProperties"
          },
          "type": "array"
        },
        "columnSeparatorStyle": {
          "description": "The style of column separators. This style can be set even when there is 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.",
          "enum": [
            "COLUMN_SEPARATOR_STYLE_UNSPECIFIED",
            "NONE",
            "BETWEEN_EACH_COLUMN"
          ],
          "enumDescriptions": [
            "An unspecified column separator style.",
            "No column separator lines between columns.",
            "Renders a column separator line between each column."
          ],
          "type": "string"
        },
        "contentDirection": {
          "description": "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.",
          "enum": [
            "CONTENT_DIRECTION_UNSPECIFIED",
            "LEFT_TO_RIGHT",
            "RIGHT_TO_LEFT"
          ],
          "enumDescriptions": [
            "The content direction is unspecified.",
            "The content goes from left to right.",
            "The content goes from right to left."
          ],
          "type": "string"
        },
        "defaultFooterId": {
          "description": "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. This property is read-only.",
          "type": "string"
        },
        "defaultHeaderId": {
          "description": "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. This property is read-only.",
          "type": "string"
        },
        "evenPageFooterId": {
          "description": "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 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 even_page_footer_id. This property is read-only.",
          "type": "string"
        },
        "evenPageHeaderId": {
          "description": "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 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 even_page_header_id. This property is read-only.",
          "type": "string"
        },
        "firstPageFooterId": {
          "description": "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 is 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. This property is read-only.",
          "type": "string"
        },
        "firstPageHeaderId": {
          "description": "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 is 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. This property is read-only.",
          "type": "string"
        },
        "marginBottom": {
          "$ref": "Dimension",
          "description": "The bottom page margin of the section. If unset, uses margin_bottom from DocumentStyle. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error."
        },
        "marginFooter": {
          "$ref": "Dimension",
          "description": "The footer margin of the section. If unset, uses margin_footer from DocumentStyle. If updated, use_custom_header_footer_margins is set to true on DocumentStyle. The value of use_custom_header_footer_margins on DocumentStyle indicates if a footer margin is being respected for this section When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error."
        },
        "marginHeader": {
          "$ref": "Dimension",
          "description": "The header margin of the section. If unset, uses margin_header from DocumentStyle. If updated, use_custom_header_footer_margins is set to true on DocumentStyle. The value of use_custom_header_footer_margins on DocumentStyle indicates if a header margin is being respected for this section. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error."
        },
        "marginLeft": {
          "$ref": "Dimension",
          "description": "The left page margin of the section. If unset, uses margin_left from DocumentStyle. Updating left margin causes columns in this section to resize. Since the margin affects column width, it is applied before column properties. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error."
        },
        "marginRight": {
          "$ref": "Dimension",
          "description": "The right page margin of the section. If unset, uses margin_right from DocumentStyle. Updating right margin causes columns in this section to resize. Since the margin affects column width, it is applied before column properties. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error."
        },
        "marginTop": {
          "$ref": "Dimension",
          "description": "The top page margin of the section. If unset, uses margin_top from DocumentStyle. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error."
        },
        "pageNumberStart": {
          "description": "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. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.",
          "format": "int32",
          "type": "integer"
        },
        "sectionType": {
          "description": "Output only. The type of section.",
          "enum": [
            "SECTION_TYPE_UNSPECIFIED",
            "CONTINUOUS",
            "NEXT_PAGE"
          ],
          "enumDescriptions": [
            "The section type is unspecified.",
            "The section starts immediately after the last paragraph of the previous section.",
            "The section starts on the next page."
          ],
          "type": "string"
        },
        "useFirstPageHeaderFooter": {
          "description": "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. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "Shading": {
      "description": "The shading of a paragraph.",
      "id": "Shading",
      "properties": {
        "backgroundColor": {
          "$ref": "OptionalColor",
          "description": "The background color of this paragraph shading."
        }
      },
      "type": "object"
    },
    "ShadingSuggestionState": {
      "description": "A mask that indicates which of the fields on the base Shading have been changed in this suggested change. For any field set to true, there is a new suggested value.",
      "id": "ShadingSuggestionState",
      "properties": {
        "backgroundColorSuggested": {
          "description": "Indicates if there was a suggested change to the Shading.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "SheetsChartReference": {
      "description": "A reference to a linked chart embedded from Google Sheets.",
      "id": "SheetsChartReference",
      "properties": {
        "chartId": {
          "description": "The ID of the specific chart in the Google Sheets spreadsheet that is embedded.",
          "format": "int32",
          "type": "integer"
        },
        "spreadsheetId": {
          "description": "The ID of the Google Sheets spreadsheet that contains the source chart.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SheetsChartReferenceSuggestionState": {
      "description": "A mask that indicates which of the fields on the base SheetsChartReference have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "SheetsChartReferenceSuggestionState",
      "properties": {
        "chartIdSuggested": {
          "description": "Indicates if there was a suggested change to chart_id.",
          "type": "boolean"
        },
        "spreadsheetIdSuggested": {
          "description": "Indicates if there was a suggested change to spreadsheet_id.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "Size": {
      "description": "A width and height.",
      "id": "Size",
      "properties": {
        "height": {
          "$ref": "Dimension",
          "description": "The height of the object."
        },
        "width": {
          "$ref": "Dimension",
          "description": "The width of the object."
        }
      },
      "type": "object"
    },
    "SizeSuggestionState": {
      "description": "A mask that indicates which of the fields on the base Size have been changed in this suggestion. For any field set to true, the Size has a new suggested value.",
      "id": "SizeSuggestionState",
      "properties": {
        "heightSuggested": {
          "description": "Indicates if there was a suggested change to height.",
          "type": "boolean"
        },
        "widthSuggested": {
          "description": "Indicates if there was a suggested change to width.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "StructuralElement": {
      "description": "A StructuralElement describes content that provides structure to the document.",
      "id": "StructuralElement",
      "properties": {
        "endIndex": {
          "description": "The zero-based end index of this structural element, exclusive, in UTF-16 code units.",
          "format": "int32",
          "type": "integer"
        },
        "paragraph": {
          "$ref": "Paragraph",
          "description": "A paragraph type of structural element."
        },
        "sectionBreak": {
          "$ref": "SectionBreak",
          "description": "A section break type of structural element."
        },
        "startIndex": {
          "description": "The zero-based start index of this structural element, in UTF-16 code units.",
          "format": "int32",
          "type": "integer"
        },
        "table": {
          "$ref": "Table",
          "description": "A table type of structural element."
        },
        "tableOfContents": {
          "$ref": "TableOfContents",
          "description": "A table of contents type of structural element."
        }
      },
      "type": "object"
    },
    "SubstringMatchCriteria": {
      "description": "A criteria that matches a specific string of text in the document.",
      "id": "SubstringMatchCriteria",
      "properties": {
        "matchCase": {
          "description": "Indicates whether the search should respect case: - `True`: the search is case sensitive. - `False`: the search is case insensitive.",
          "type": "boolean"
        },
        "text": {
          "description": "The text to search for in the document.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SuggestedBullet": {
      "description": "A suggested change to a Bullet.",
      "id": "SuggestedBullet",
      "properties": {
        "bullet": {
          "$ref": "Bullet",
          "description": "A Bullet that only includes the changes made in this suggestion. This can be used along with the bullet_suggestion_state to see which fields have changed and their new values."
        },
        "bulletSuggestionState": {
          "$ref": "BulletSuggestionState",
          "description": "A mask that indicates which of the fields on the base Bullet have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "SuggestedDocumentStyle": {
      "description": "A suggested change to the DocumentStyle.",
      "id": "SuggestedDocumentStyle",
      "properties": {
        "documentStyle": {
          "$ref": "DocumentStyle",
          "description": "A DocumentStyle that only includes the changes made in this suggestion. This can be used along with the document_style_suggestion_state to see which fields have changed and their new values."
        },
        "documentStyleSuggestionState": {
          "$ref": "DocumentStyleSuggestionState",
          "description": "A mask that indicates which of the fields on the base DocumentStyle have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "SuggestedInlineObjectProperties": {
      "description": "A suggested change to InlineObjectProperties.",
      "id": "SuggestedInlineObjectProperties",
      "properties": {
        "inlineObjectProperties": {
          "$ref": "InlineObjectProperties",
          "description": "An InlineObjectProperties that only includes the changes made in this suggestion. This can be used along with the inline_object_properties_suggestion_state to see which fields have changed and their new values."
        },
        "inlineObjectPropertiesSuggestionState": {
          "$ref": "InlineObjectPropertiesSuggestionState",
          "description": "A mask that indicates which of the fields on the base InlineObjectProperties have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "SuggestedListProperties": {
      "description": "A suggested change to ListProperties.",
      "id": "SuggestedListProperties",
      "properties": {
        "listProperties": {
          "$ref": "ListProperties",
          "description": "A ListProperties that only includes the changes made in this suggestion. This can be used along with the list_properties_suggestion_state to see which fields have changed and their new values."
        },
        "listPropertiesSuggestionState": {
          "$ref": "ListPropertiesSuggestionState",
          "description": "A mask that indicates which of the fields on the base ListProperties have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "SuggestedNamedStyles": {
      "description": "A suggested change to the NamedStyles.",
      "id": "SuggestedNamedStyles",
      "properties": {
        "namedStyles": {
          "$ref": "NamedStyles",
          "description": "A NamedStyles that only includes the changes made in this suggestion. This can be used along with the named_styles_suggestion_state to see which fields have changed and their new values."
        },
        "namedStylesSuggestionState": {
          "$ref": "NamedStylesSuggestionState",
          "description": "A mask that indicates which of the fields on the base NamedStyles have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "SuggestedParagraphStyle": {
      "description": "A suggested change to a ParagraphStyle.",
      "id": "SuggestedParagraphStyle",
      "properties": {
        "paragraphStyle": {
          "$ref": "ParagraphStyle",
          "description": "A ParagraphStyle that only includes the changes made in this suggestion. This can be used along with the paragraph_suggestion_state to see which fields have changed and their new values."
        },
        "paragraphStyleSuggestionState": {
          "$ref": "ParagraphStyleSuggestionState",
          "description": "A mask that indicates which of the fields on the base ParagraphStyle have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "SuggestedPositionedObjectProperties": {
      "description": "A suggested change to PositionedObjectProperties.",
      "id": "SuggestedPositionedObjectProperties",
      "properties": {
        "positionedObjectProperties": {
          "$ref": "PositionedObjectProperties",
          "description": "A PositionedObjectProperties that only includes the changes made in this suggestion. This can be used along with the positioned_object_properties_suggestion_state to see which fields have changed and their new values."
        },
        "positionedObjectPropertiesSuggestionState": {
          "$ref": "PositionedObjectPropertiesSuggestionState",
          "description": "A mask that indicates which of the fields on the base PositionedObjectProperties have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "SuggestedTableCellStyle": {
      "description": "A suggested change to a TableCellStyle.",
      "id": "SuggestedTableCellStyle",
      "properties": {
        "tableCellStyle": {
          "$ref": "TableCellStyle",
          "description": "A TableCellStyle that only includes the changes made in this suggestion. This can be used along with the table_cell_style_suggestion_state to see which fields have changed and their new values."
        },
        "tableCellStyleSuggestionState": {
          "$ref": "TableCellStyleSuggestionState",
          "description": "A mask that indicates which of the fields on the base TableCellStyle have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "SuggestedTableRowStyle": {
      "description": "A suggested change to a TableRowStyle.",
      "id": "SuggestedTableRowStyle",
      "properties": {
        "tableRowStyle": {
          "$ref": "TableRowStyle",
          "description": "A TableRowStyle that only includes the changes made in this suggestion. This can be used along with the table_row_style_suggestion_state to see which fields have changed and their new values."
        },
        "tableRowStyleSuggestionState": {
          "$ref": "TableRowStyleSuggestionState",
          "description": "A mask that indicates which of the fields on the base TableRowStyle have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "SuggestedTextStyle": {
      "description": "A suggested change to a TextStyle.",
      "id": "SuggestedTextStyle",
      "properties": {
        "textStyle": {
          "$ref": "TextStyle",
          "description": "A TextStyle that only includes the changes made in this suggestion. This can be used along with the text_style_suggestion_state to see which fields have changed and their new values."
        },
        "textStyleSuggestionState": {
          "$ref": "TextStyleSuggestionState",
          "description": "A mask that indicates which of the fields on the base TextStyle have been changed in this suggestion."
        }
      },
      "type": "object"
    },
    "TabStop": {
      "description": "A tab stop within a paragraph.",
      "id": "TabStop",
      "properties": {
        "alignment": {
          "description": "The alignment of this tab stop. If unset, the value defaults to START.",
          "enum": [
            "TAB_STOP_ALIGNMENT_UNSPECIFIED",
            "START",
            "CENTER",
            "END"
          ],
          "enumDescriptions": [
            "The tab stop alignment is unspecified.",
            "The tab stop is aligned to the start of the line. This is the default.",
            "The tab stop is aligned to the center of the line.",
            "The tab stop is aligned to the end of the line."
          ],
          "type": "string"
        },
        "offset": {
          "$ref": "Dimension",
          "description": "The offset between this tab stop and the start margin."
        }
      },
      "type": "object"
    },
    "Table": {
      "description": "A StructuralElement representing a table.",
      "id": "Table",
      "properties": {
        "columns": {
          "description": "Number of columns in the table. It is possible for a table to be non-rectangular, so some rows may have a different number of cells.",
          "format": "int32",
          "type": "integer"
        },
        "rows": {
          "description": "Number of rows in the table.",
          "format": "int32",
          "type": "integer"
        },
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "The suggested insertion IDs. A Table may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "tableRows": {
          "description": "The contents and style of each row.",
          "items": {
            "$ref": "TableRow"
          },
          "type": "array"
        },
        "tableStyle": {
          "$ref": "TableStyle",
          "description": "The style of the table."
        }
      },
      "type": "object"
    },
    "TableCell": {
      "description": "The contents and style of a cell in a Table.",
      "id": "TableCell",
      "properties": {
        "content": {
          "description": "The content of the cell.",
          "items": {
            "$ref": "StructuralElement"
          },
          "type": "array"
        },
        "endIndex": {
          "description": "The zero-based end index of this cell, exclusive, in UTF-16 code units.",
          "format": "int32",
          "type": "integer"
        },
        "startIndex": {
          "description": "The zero-based start index of this cell, in UTF-16 code units.",
          "format": "int32",
          "type": "integer"
        },
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "The suggested insertion IDs. A TableCell may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedTableCellStyleChanges": {
          "additionalProperties": {
            "$ref": "SuggestedTableCellStyle"
          },
          "description": "The suggested changes to the table cell style, keyed by suggestion ID.",
          "type": "object"
        },
        "tableCellStyle": {
          "$ref": "TableCellStyle",
          "description": "The style of the cell."
        }
      },
      "type": "object"
    },
    "TableCellBorder": {
      "description": "A border around a table cell. Table cell borders cannot be transparent. To hide a table cell border, make its width 0.",
      "id": "TableCellBorder",
      "properties": {
        "color": {
          "$ref": "OptionalColor",
          "description": "The color of the border. This color cannot be transparent."
        },
        "dashStyle": {
          "description": "The dash style of the border.",
          "enum": [
            "DASH_STYLE_UNSPECIFIED",
            "SOLID",
            "DOT",
            "DASH"
          ],
          "enumDescriptions": [
            "Unspecified dash style.",
            "Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'. This is the default dash style.",
            "Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.",
            "Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'."
          ],
          "type": "string"
        },
        "width": {
          "$ref": "Dimension",
          "description": "The width of the border."
        }
      },
      "type": "object"
    },
    "TableCellLocation": {
      "description": "Location of a single cell within a table.",
      "id": "TableCellLocation",
      "properties": {
        "columnIndex": {
          "description": "The zero-based column index. For example, the second column in the table has a column index of 1.",
          "format": "int32",
          "type": "integer"
        },
        "rowIndex": {
          "description": "The zero-based row index. For example, the second row in the table has a row index of 1.",
          "format": "int32",
          "type": "integer"
        },
        "tableStartLocation": {
          "$ref": "Location",
          "description": "The location where the table starts in the document."
        }
      },
      "type": "object"
    },
    "TableCellStyle": {
      "description": "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.",
      "id": "TableCellStyle",
      "properties": {
        "backgroundColor": {
          "$ref": "OptionalColor",
          "description": "The background color of the cell."
        },
        "borderBottom": {
          "$ref": "TableCellBorder",
          "description": "The bottom border of the cell."
        },
        "borderLeft": {
          "$ref": "TableCellBorder",
          "description": "The left border of the cell."
        },
        "borderRight": {
          "$ref": "TableCellBorder",
          "description": "The right border of the cell."
        },
        "borderTop": {
          "$ref": "TableCellBorder",
          "description": "The top border of the cell."
        },
        "columnSpan": {
          "description": "The column span of the cell. This property is read-only.",
          "format": "int32",
          "type": "integer"
        },
        "contentAlignment": {
          "description": "The alignment of the content in the table cell. The default alignment matches the alignment for newly created table cells in the Docs editor.",
          "enum": [
            "CONTENT_ALIGNMENT_UNSPECIFIED",
            "CONTENT_ALIGNMENT_UNSUPPORTED",
            "TOP",
            "MIDDLE",
            "BOTTOM"
          ],
          "enumDescriptions": [
            "An unspecified content alignment. The content alignment is inherited from the parent if one exists.",
            "An unsupported content alignment.",
            "An alignment that aligns the content to the top of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 't'.",
            "An alignment that aligns the content to the middle of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'ctr'.",
            "An alignment that aligns the content to the bottom of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'b'."
          ],
          "type": "string"
        },
        "paddingBottom": {
          "$ref": "Dimension",
          "description": "The bottom padding of the cell."
        },
        "paddingLeft": {
          "$ref": "Dimension",
          "description": "The left padding of the cell."
        },
        "paddingRight": {
          "$ref": "Dimension",
          "description": "The right padding of the cell."
        },
        "paddingTop": {
          "$ref": "Dimension",
          "description": "The top padding of the cell."
        },
        "rowSpan": {
          "description": "The row span of the cell. This property is read-only.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "TableCellStyleSuggestionState": {
      "description": "A mask that indicates which of the fields on the base TableCellStyle have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "TableCellStyleSuggestionState",
      "properties": {
        "backgroundColorSuggested": {
          "description": "Indicates if there was a suggested change to background_color.",
          "type": "boolean"
        },
        "borderBottomSuggested": {
          "description": "Indicates if there was a suggested change to border_bottom.",
          "type": "boolean"
        },
        "borderLeftSuggested": {
          "description": "Indicates if there was a suggested change to border_left.",
          "type": "boolean"
        },
        "borderRightSuggested": {
          "description": "Indicates if there was a suggested change to border_right.",
          "type": "boolean"
        },
        "borderTopSuggested": {
          "description": "Indicates if there was a suggested change to border_top.",
          "type": "boolean"
        },
        "columnSpanSuggested": {
          "description": "Indicates if there was a suggested change to column_span.",
          "type": "boolean"
        },
        "contentAlignmentSuggested": {
          "description": "Indicates if there was a suggested change to content_alignment.",
          "type": "boolean"
        },
        "paddingBottomSuggested": {
          "description": "Indicates if there was a suggested change to padding_bottom.",
          "type": "boolean"
        },
        "paddingLeftSuggested": {
          "description": "Indicates if there was a suggested change to padding_left.",
          "type": "boolean"
        },
        "paddingRightSuggested": {
          "description": "Indicates if there was a suggested change to padding_right.",
          "type": "boolean"
        },
        "paddingTopSuggested": {
          "description": "Indicates if there was a suggested change to padding_top.",
          "type": "boolean"
        },
        "rowSpanSuggested": {
          "description": "Indicates if there was a suggested change to row_span.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "TableColumnProperties": {
      "description": "The properties of a column in a table.",
      "id": "TableColumnProperties",
      "properties": {
        "width": {
          "$ref": "Dimension",
          "description": "The width of the column. Set when the column's `width_type` is FIXED_WIDTH."
        },
        "widthType": {
          "description": "The width type of the column.",
          "enum": [
            "WIDTH_TYPE_UNSPECIFIED",
            "EVENLY_DISTRIBUTED",
            "FIXED_WIDTH"
          ],
          "enumDescriptions": [
            "The column width type is unspecified.",
            "The column width is evenly distributed among the other evenly distrubted columns. The width of the column is automatically determined and will have an equal portion of the width remaining for the table after accounting for all columns with specified widths.",
            "A fixed column width. The width property contains the column's width."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "TableOfContents": {
      "description": "A StructuralElement representing a table of contents.",
      "id": "TableOfContents",
      "properties": {
        "content": {
          "description": "The content of the table of contents.",
          "items": {
            "$ref": "StructuralElement"
          },
          "type": "array"
        },
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TableRange": {
      "description": "A table range represents a reference to a subset of a table. It's important to note that the cells specified by a table range do not necessarily form a rectangle. For example, let's say we have a 3 x 3 table where all the cells of the last row are merged together. The table looks like this: [ ] A table range with table cell location = (table_start_location, row = 0, column = 0), row span = 3 and column span = 2 specifies the following cells: x x [ x x x ]",
      "id": "TableRange",
      "properties": {
        "columnSpan": {
          "description": "The column span of the table range.",
          "format": "int32",
          "type": "integer"
        },
        "rowSpan": {
          "description": "The row span of the table range.",
          "format": "int32",
          "type": "integer"
        },
        "tableCellLocation": {
          "$ref": "TableCellLocation",
          "description": "The cell location where the table range starts."
        }
      },
      "type": "object"
    },
    "TableRow": {
      "description": "The contents and style of a row in a Table.",
      "id": "TableRow",
      "properties": {
        "endIndex": {
          "description": "The zero-based end index of this row, exclusive, in UTF-16 code units.",
          "format": "int32",
          "type": "integer"
        },
        "startIndex": {
          "description": "The zero-based start index of this row, in UTF-16 code units.",
          "format": "int32",
          "type": "integer"
        },
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "The suggested insertion IDs. A TableRow may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedTableRowStyleChanges": {
          "additionalProperties": {
            "$ref": "SuggestedTableRowStyle"
          },
          "description": "The suggested style changes to this row, keyed by suggestion ID.",
          "type": "object"
        },
        "tableCells": {
          "description": "The contents and style of each cell in this row. It is 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.",
          "items": {
            "$ref": "TableCell"
          },
          "type": "array"
        },
        "tableRowStyle": {
          "$ref": "TableRowStyle",
          "description": "The style of the table row."
        }
      },
      "type": "object"
    },
    "TableRowStyle": {
      "description": "Styles that apply to a table row.",
      "id": "TableRowStyle",
      "properties": {
        "minRowHeight": {
          "$ref": "Dimension",
          "description": "The minimum height of the row. The row will be rendered in the Docs editor at a height equal to or greater than this value in order to show all the content in the row's cells."
        }
      },
      "type": "object"
    },
    "TableRowStyleSuggestionState": {
      "description": "A mask that indicates which of the fields on the base TableRowStyle have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "TableRowStyleSuggestionState",
      "properties": {
        "minRowHeightSuggested": {
          "description": "Indicates if there was a suggested change to min_row_height.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "TableStyle": {
      "description": "Styles that apply to a table.",
      "id": "TableStyle",
      "properties": {
        "tableColumnProperties": {
          "description": "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.",
          "items": {
            "$ref": "TableColumnProperties"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TextRun": {
      "description": "A ParagraphElement that represents a run of text that all has the same styling.",
      "id": "TextRun",
      "properties": {
        "content": {
          "description": "The text of this run. Any non-text elements in the run are replaced with the Unicode character U+E907.",
          "type": "string"
        },
        "suggestedDeletionIds": {
          "description": "The suggested deletion IDs. If empty, then there are no suggested deletions of this content.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedInsertionIds": {
          "description": "The suggested insertion IDs. A TextRun may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "suggestedTextStyleChanges": {
          "additionalProperties": {
            "$ref": "SuggestedTextStyle"
          },
          "description": "The suggested text style changes to this run, keyed by suggestion ID.",
          "type": "object"
        },
        "textStyle": {
          "$ref": "TextStyle",
          "description": "The text style of this run."
        }
      },
      "type": "object"
    },
    "TextStyle": {
      "description": "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 is 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.",
      "id": "TextStyle",
      "properties": {
        "backgroundColor": {
          "$ref": "OptionalColor",
          "description": "The background color of the text. If set, the color is either an RGB color or transparent, depending on the `color` field."
        },
        "baselineOffset": {
          "description": "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. The `font_size` itself is not affected by changes in this field.",
          "enum": [
            "BASELINE_OFFSET_UNSPECIFIED",
            "NONE",
            "SUPERSCRIPT",
            "SUBSCRIPT"
          ],
          "enumDescriptions": [
            "The text's baseline offset is inherited from the parent.",
            "The text is not vertically offset.",
            "The text is vertically offset upwards (superscript).",
            "The text is vertically offset downwards (subscript)."
          ],
          "type": "string"
        },
        "bold": {
          "description": "Whether or not the text is rendered as bold.",
          "type": "boolean"
        },
        "fontSize": {
          "$ref": "Dimension",
          "description": "The size of the text's font."
        },
        "foregroundColor": {
          "$ref": "OptionalColor",
          "description": "The foreground color of the text. If set, the color is either an RGB color or transparent, depending on the `color` field."
        },
        "italic": {
          "description": "Whether or not the text is italicized.",
          "type": "boolean"
        },
        "link": {
          "$ref": "Link",
          "description": "The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be updated to the default link color and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `\"ABC\\n123\"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request."
        },
        "smallCaps": {
          "description": "Whether or not the text is in small capital letters.",
          "type": "boolean"
        },
        "strikethrough": {
          "description": "Whether or not the text is struck through.",
          "type": "boolean"
        },
        "underline": {
          "description": "Whether or not the text is underlined.",
          "type": "boolean"
        },
        "weightedFontFamily": {
          "$ref": "WeightedFontFamily",
          "description": "The font family and rendered weight of the text. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned."
        }
      },
      "type": "object"
    },
    "TextStyleSuggestionState": {
      "description": "A mask that indicates which of the fields on the base TextStyle have been changed in this suggestion. For any field set to true, there is a new suggested value.",
      "id": "TextStyleSuggestionState",
      "properties": {
        "backgroundColorSuggested": {
          "description": "Indicates if there was a suggested change to background_color.",
          "type": "boolean"
        },
        "baselineOffsetSuggested": {
          "description": "Indicates if there was a suggested change to baseline_offset.",
          "type": "boolean"
        },
        "boldSuggested": {
          "description": "Indicates if there was a suggested change to bold.",
          "type": "boolean"
        },
        "fontSizeSuggested": {
          "description": "Indicates if there was a suggested change to font_size.",
          "type": "boolean"
        },
        "foregroundColorSuggested": {
          "description": "Indicates if there was a suggested change to foreground_color.",
          "type": "boolean"
        },
        "italicSuggested": {
          "description": "Indicates if there was a suggested change to italic.",
          "type": "boolean"
        },
        "linkSuggested": {
          "description": "Indicates if there was a suggested change to link.",
          "type": "boolean"
        },
        "smallCapsSuggested": {
          "description": "Indicates if there was a suggested change to small_caps.",
          "type": "boolean"
        },
        "strikethroughSuggested": {
          "description": "Indicates if there was a suggested change to strikethrough.",
          "type": "boolean"
        },
        "underlineSuggested": {
          "description": "Indicates if there was a suggested change to underline.",
          "type": "boolean"
        },
        "weightedFontFamilySuggested": {
          "description": "Indicates if there was a suggested change to weighted_font_family.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "UnmergeTableCellsRequest": {
      "description": "Unmerges cells in a Table.",
      "id": "UnmergeTableCellsRequest",
      "properties": {
        "tableRange": {
          "$ref": "TableRange",
          "description": "The table range specifying which cells of the table to unmerge. All merged cells in this range will be unmerged, and cells that are already unmerged will not be affected. If the range has no merged cells, the request will do nothing. If there is text in any of the merged cells, the text will remain in the \"head\" cell of the resulting block of unmerged cells. The \"head\" cell is the upper-left cell when the content direction is from left to right, and the upper-right otherwise."
        }
      },
      "type": "object"
    },
    "UpdateDocumentStyleRequest": {
      "description": "Updates the DocumentStyle.",
      "id": "UpdateDocumentStyleRequest",
      "properties": {
        "documentStyle": {
          "$ref": "DocumentStyle",
          "description": "The styles to set on the document. Certain document style changes may cause other changes in order to mirror the behavior of the Docs editor. See the documentation of DocumentStyle for more information."
        },
        "fields": {
          "description": "The fields that should be updated. At least one field must be specified. The root `document_style` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the background, set `fields` to `\"background\"`.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdateParagraphStyleRequest": {
      "description": "Update the styling of all paragraphs that overlap with the given range.",
      "id": "UpdateParagraphStyleRequest",
      "properties": {
        "fields": {
          "description": "The fields that should be updated. At least one field must be specified. The root `paragraph_style` is implied and should not be specified. For example, to update the paragraph style's alignment property, set `fields` to `\"alignment\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.",
          "format": "google-fieldmask",
          "type": "string"
        },
        "paragraphStyle": {
          "$ref": "ParagraphStyle",
          "description": "The styles to set on the paragraphs. Certain paragraph style changes may cause other changes in order to mirror the behavior of the Docs editor. See the documentation of ParagraphStyle for more information."
        },
        "range": {
          "$ref": "Range",
          "description": "The range overlapping the paragraphs to style."
        }
      },
      "type": "object"
    },
    "UpdateSectionStyleRequest": {
      "description": "Updates the SectionStyle.",
      "id": "UpdateSectionStyleRequest",
      "properties": {
        "fields": {
          "description": "The fields that should be updated. At least one field must be specified. The root `section_style` is implied and must not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the left margin, set `fields` to `\"margin_left\"`.",
          "format": "google-fieldmask",
          "type": "string"
        },
        "range": {
          "$ref": "Range",
          "description": "The range overlapping the sections to style. Because section breaks can only be inserted inside the body, the segment ID field must be empty."
        },
        "sectionStyle": {
          "$ref": "SectionStyle",
          "description": "The styles to be set on the section. Certain section style changes may cause other changes in order to mirror the behavior of the Docs editor. See the documentation of SectionStyle for more information."
        }
      },
      "type": "object"
    },
    "UpdateTableCellStyleRequest": {
      "description": "Updates the style of a range of table cells.",
      "id": "UpdateTableCellStyleRequest",
      "properties": {
        "fields": {
          "description": "The fields that should be updated. At least one field must be specified. The root `tableCellStyle` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the table cell background color, set `fields` to `\"backgroundColor\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.",
          "format": "google-fieldmask",
          "type": "string"
        },
        "tableCellStyle": {
          "$ref": "TableCellStyle",
          "description": "The style to set on the table cells. When updating borders, if a cell shares a border with an adjacent cell, the corresponding border property of the adjacent cell is updated as well. Borders that are merged and invisible are not updated. Since updating a border shared by adjacent cells in the same request can cause conflicting border updates, border updates are applied in the following order: - `border_right` - `border_left` - `border_bottom` - `border_top`"
        },
        "tableRange": {
          "$ref": "TableRange",
          "description": "The table range representing the subset of the table to which the updates are applied."
        },
        "tableStartLocation": {
          "$ref": "Location",
          "description": "The location where the table starts in the document. When specified, the updates are applied to all the cells in the table."
        }
      },
      "type": "object"
    },
    "UpdateTableColumnPropertiesRequest": {
      "description": "Updates the TableColumnProperties of columns in a table.",
      "id": "UpdateTableColumnPropertiesRequest",
      "properties": {
        "columnIndices": {
          "description": "The list of zero-based column indices whose property should be updated. If no indices are specified, all columns will be updated.",
          "items": {
            "format": "int32",
            "type": "integer"
          },
          "type": "array"
        },
        "fields": {
          "description": "The fields that should be updated. At least one field must be specified. The root `tableColumnProperties` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the column width, set `fields` to `\"width\"`.",
          "format": "google-fieldmask",
          "type": "string"
        },
        "tableColumnProperties": {
          "$ref": "TableColumnProperties",
          "description": "The table column properties to update. If the value of `table_column_properties#width` is less than 5 points (5/72 inch), a 400 bad request error is returned."
        },
        "tableStartLocation": {
          "$ref": "Location",
          "description": "The location where the table starts in the document."
        }
      },
      "type": "object"
    },
    "UpdateTableRowStyleRequest": {
      "description": "Updates the TableRowStyle of rows in a table.",
      "id": "UpdateTableRowStyleRequest",
      "properties": {
        "fields": {
          "description": "The fields that should be updated. At least one field must be specified. The root `tableRowStyle` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example to update the minimum row height, set `fields` to `\"min_row_height\"`.",
          "format": "google-fieldmask",
          "type": "string"
        },
        "rowIndices": {
          "description": "The list of zero-based row indices whose style should be updated. If no indices are specified, all rows will be updated.",
          "items": {
            "format": "int32",
            "type": "integer"
          },
          "type": "array"
        },
        "tableRowStyle": {
          "$ref": "TableRowStyle",
          "description": "The styles to be set on the rows."
        },
        "tableStartLocation": {
          "$ref": "Location",
          "description": "The location where the table starts in the document."
        }
      },
      "type": "object"
    },
    "UpdateTextStyleRequest": {
      "description": "Update the styling of text.",
      "id": "UpdateTextStyleRequest",
      "properties": {
        "fields": {
          "description": "The fields that should be updated. At least one field must be specified. The root `text_style` is implied and should not be specified. A single `\"*\"` can be used as short-hand for listing every field. For example, to update the text style to bold, set `fields` to `\"bold\"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset.",
          "format": "google-fieldmask",
          "type": "string"
        },
        "range": {
          "$ref": "Range",
          "description": "The range of text to style. The range may be extended to include adjacent newlines. If the range fully contains a paragraph belonging to a list, the paragraph's bullet is also updated with the matching text style. Ranges cannot be inserted inside a relative UpdateTextStyleRequest."
        },
        "textStyle": {
          "$ref": "TextStyle",
          "description": "The styles to set on the text. If the value for a particular style matches that of the parent, that style will be set to inherit. Certain text style changes may cause other changes in order to to mirror the behavior of the Docs editor. See the documentation of TextStyle for more information."
        }
      },
      "type": "object"
    },
    "WeightedFontFamily": {
      "description": "Represents a font family and weight of text.",
      "id": "WeightedFontFamily",
      "properties": {
        "fontFamily": {
          "description": "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`.",
          "type": "string"
        },
        "weight": {
          "description": "The weight of the font. This field can have any value that is 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. The rendered weight is determined by a combination of the `weight` and the text style's resolved `bold` value, 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.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "WriteControl": {
      "description": "Provides control over how write requests are executed.",
      "id": "WriteControl",
      "properties": {
        "requiredRevisionId": {
          "description": "The revision ID of the document that the write request will be applied to. If this is not the latest revision of the document, the request will not be processed and will return a 400 bad request error. When a required revision ID is returned in a response, it indicates the revision ID of the document after the request was applied.",
          "type": "string"
        },
        "targetRevisionId": {
          "description": "The target revision ID of the document that the write request will be applied to. If collaborator changes have occurred after the document was read using the API, the changes produced by this write request will be transformed against the collaborator changes. This results in a new revision of the document which incorporates both the changes in the request and the collaborator changes, and the Docs server will resolve conflicting changes. When using `target_revision_id`, the API client can be thought of as another collaborator of the document. The target revision ID may only be used to write to recent versions of a document. If the target revision is too far behind the latest revision, the request will not be processed and will return a 400 bad request error and the request should be retried after reading the latest version of the document. In most cases a `revision_id` will remain valid for use as a target revision for several minutes after it is read, but for frequently-edited documents this window may be shorter.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Google Docs API",
  "version": "v1",
  "version_module": true
}