Skip to main content
Glama
taylorwilsdon

Google Workspace MCP Server - Control Gmail, Calendar, Docs, Sheets, Slides, Chat, Forms & Drive

Batch Update Doc

batch_update_doc
Destructive

Apply multiple Google Docs edits atomically in a single batch: insert, delete, or replace text, format paragraphs, manage tables, add breaks, and run find-and-replace without manual index math.

Instructions

Executes multiple low-level document operations in a single atomic batch update.

For normal header/footer text, prefer update_doc_headers_footers. Only use create_header_footer here for advanced section-break layouts.

RECOMMENDED WORKFLOW FOR BUILDING DOCUMENTS:

To avoid index calculation errors, build documents in phases:

PHASE 1 - INSERT ALL CONTENT (use end_of_segment=true, no index math): Append text, section breaks, and page breaks sequentially. Each operation appends to the end of the body. No index needed. Example batch: [ {"type": "insert_text", "end_of_segment": true, "text": "Report Title\n"}, {"type": "insert_text", "end_of_segment": true, "text": "\nExecutive Summary\n"}, {"type": "insert_text", "end_of_segment": true, "text": "Revenue grew 15%.\n"}, {"type": "insert_section_break", "end_of_segment": true, "section_type": "NEXT_PAGE"}, {"type": "insert_text", "end_of_segment": true, "text": "Detailed Analysis\n"} ]

PHASE 2 - CREATE HEADERS/FOOTERS (if needed): For normal header/footer text, use update_doc_headers_footers (it auto-creates if missing and writes the content for you). Only include create_header_footer operations in a batch when you are intentionally managing advanced section-break-specific layouts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
operationsYesList of operation dicts. Each operation MUST have a 'type' field. All operations accept an optional 'tab_id' to target a specific tab.
document_idYesID of the document to update
user_google_emailYesUser's Google email address

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changedv1.24.0
    • changedInput schema / properties / operations / items / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "end_of_segment": {
      -        "default": false,
      -        "description": "Append to the end of the targeted body/segment instead of using index.",
      -        "type": "boolean"
      -      },
      -      "index": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Insertion index. Omit when end_of_segment=true."
      -      },
      -      "segment_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "text": {
      -        "description": "Text to insert.",
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "insert_text",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "text"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "end_index": {
      -        "type": "integer"
      -      },
      -      "segment_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      -      },
      -      "start_index": {
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "delete_text",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "start_index",
      -      "end_index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "end_index": {
      -        "type": "integer"
      -      },
      -      "segment_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      -      },
      -      "start_index": {
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "text": {
      -        "description": "Replacement text.",
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "replace_text",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "start_index",
      -      "end_index",
      -      "text"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "background_color": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "baseline_offset": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "bold": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "clear_link": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "end_index": {
      -        "type": "integer"
      -      },
      -      "font_family": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "font_size": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "font_weight": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "italic": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "link_url": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "segment_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      -      },
      -      "small_caps": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "start_index": {
      -        "type": "integer"
      -      },
      -      "strikethrough": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "text_color": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "type": {
      -        "const": "format_text",
      -        "type": "string"
      -      },
      -      "underline": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "start_index",
      -      "end_index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "alignment": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "avoid_widow_and_orphan": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "direction": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "end_index": {
      -        "type": "integer"
      -      },
      -      "heading_level": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "indent_end": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "indent_first_line": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "indent_start": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "keep_lines_together": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "keep_with_next": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "line_spacing": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "named_style_type": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "page_break_before": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "segment_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      -      },
      -      "shading_color": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "space_above": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "space_below": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "spacing_mode": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "start_index": {
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "update_paragraph_style",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "start_index",
      -      "end_index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "background_color": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "border_color": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "border_width": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "column_index": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "column_span": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "content_alignment": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "padding_bottom": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "padding_left": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "padding_right": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "padding_top": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "row_index": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "row_span": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "table_start_index": {
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "update_table_cell_style",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "table_start_index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "columns": {
      -        "type": "integer"
      -      },
      -      "end_of_segment": {
      -        "default": false,
      -        "description": "Append to the end of the targeted body/segment instead of using index.",
      -        "type": "boolean"
      -      },
      -      "index": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Insertion index. Omit when end_of_segment=true."
      -      },
      -      "rows": {
      -        "type": "integer"
      -      },
      -      "segment_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "insert_table",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "rows",
      -      "columns"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "insert_below": {
      -        "default": true,
      -        "type": "boolean"
      -      },
      -      "row_index": {
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "table_start_index": {
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "insert_table_row",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "table_start_index",
      -      "row_index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "row_index": {
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "table_start_index": {
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "delete_table_row",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "table_start_index",
      -      "row_index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "column_index": {
      -        "type": "integer"
      -      },
      -      "insert_right": {
      -        "default": true,
      -        "type": "boolean"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "table_start_index": {
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "insert_table_column",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "table_start_index",
      -      "column_index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "column_index": {
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "table_start_index": {
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "delete_table_column",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "table_start_index",
      -      "column_index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "column_index": {
      -        "type": "integer"
      -      },
      -      "column_span": {
      -        "type": "integer"
      -      },
      -      "row_index": {
      -        "type": "integer"
      -      },
      -      "row_span": {
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "table_start_index": {
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "merge_table_cells",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "table_start_index",
      -      "row_index",
      -      "column_index",
      -      "row_span",
      -      "column_span"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "column_index": {
      -        "type": "integer"
      -      },
      -      "column_span": {
      -        "type": "integer"
      -      },
      -      "row_index": {
      -        "type": "integer"
      -      },
      -      "row_span": {
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "table_start_index": {
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "unmerge_table_cells",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "table_start_index",
      -      "row_index",
      -      "column_index",
      -      "row_span",
      -      "column_span"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "column_indices": {
      -        "items": {
      -          "type": "integer"
      -        },
      -        "type": "array"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "table_start_index": {
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "update_table_column_properties",
      -        "type": "string"
      -      },
      -      "width": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "width_type": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "table_start_index",
      -      "column_indices"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "min_row_height": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Minimum row height in points."
      -      },
      -      "row_indices": {
      -        "description": "Zero-based row indices to style, e.g. [0] for the header row.",
      -        "items": {
      -          "type": "integer"
      -        },
      -        "type": "array"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "table_start_index": {
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "update_table_row_style",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "table_start_index",
      -      "row_indices"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "pinned_header_rows_count": {
      -        "description": "Number of leading rows to pin as a repeating header on each page. 0 unpins all rows. Use this dedicated request because the 'tableHeader' value reported in TableRowStyle cannot be set through UpdateTableRowStyleRequest.",
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "table_start_index": {
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "pin_table_header_rows",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "table_start_index",
      -      "pinned_header_rows_count"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "end_of_segment": {
      -        "default": false,
      -        "description": "Append to the end of the body instead of using index.",
      -        "type": "boolean"
      -      },
      -      "index": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Insertion index. Omit when end_of_segment=true."
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "insert_page_break",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "end_of_segment": {
      -        "default": false,
      -        "description": "Append to the end of the body instead of using index.",
      -        "type": "boolean"
      -      },
      -      "index": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Insertion index. Omit when end_of_segment=true."
      -      },
      -      "section_type": {
      -        "default": "NEXT_PAGE",
      -        "enum": [
      -          "CONTINUOUS",
      -          "NEXT_PAGE"
      -        ],
      -        "type": "string"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "insert_section_break",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "find_text": {
      -        "type": "string"
      -      },
      -      "match_case": {
      -        "default": false,
      -        "type": "boolean"
      -      },
      -      "replace_text": {
      -        "type": "string"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "find_replace",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "find_text",
      -      "replace_text"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bullet_preset": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "end_index": {
      -        "type": "integer"
      -      },
      -      "list_type": {
      -        "default": "UNORDERED",
      -        "enum": [
      -          "UNORDERED",
      -          "ORDERED",
      -          "CHECKBOX",
      -          "NONE"
      -        ],
      -        "type": "string"
      -      },
      -      "nesting_level": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "paragraph_start_indices": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "integer"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "segment_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      -      },
      -      "start_index": {
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "create_bullet_list",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "start_index",
      -      "end_index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "end_index": {
      -        "type": "integer"
      -      },
      -      "name": {
      -        "type": "string"
      -      },
      -      "segment_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      -      },
      -      "start_index": {
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "create_named_range",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name",
      -      "start_index",
      -      "end_index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "named_range_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "named_range_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "text": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "replace_named_range_content",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "text"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "named_range_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "named_range_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "delete_named_range",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "background_color": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "document_mode": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "PAGES",
      -              "PAGELESS"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "flip_page_orientation": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_bottom": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_footer": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_header": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_left": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_right": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_top": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "page_height": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "page_number_start": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "page_width": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "update_document_style",
      -        "type": "string"
      -      },
      -      "use_even_page_header_footer": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "use_first_page_header_footer": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "column_count": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "column_separator_style": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "NONE",
      -              "BETWEEN_EACH_COLUMN"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "column_spacing": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "content_direction": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "LEFT_TO_RIGHT",
      -              "RIGHT_TO_LEFT"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "end_index": {
      -        "type": "integer"
      -      },
      -      "flip_page_orientation": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_bottom": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_footer": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_header": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_left": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_right": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "margin_top": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "page_number_start": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "start_index": {
      -        "type": "integer"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "update_section_style",
      -        "type": "string"
      -      },
      -      "use_first_page_header_footer": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "start_index",
      -      "end_index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "header_footer_type": {
      -        "default": "DEFAULT",
      -        "description": "Header/footer type to create.",
      -        "enum": [
      -          "DEFAULT",
      -          "FIRST_PAGE_ONLY",
      -          "EVEN_PAGE"
      -        ],
      -        "type": "string"
      -      },
      -      "section_break_index": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional section break index for section-scoped layouts."
      -      },
      -      "section_type": {
      -        "description": "Which section to create.",
      -        "enum": [
      -          "header",
      -          "footer"
      -        ],
      -        "type": "string"
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "create_header_footer",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "section_type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "end_of_segment": {
      -        "default": false,
      -        "description": "Append to the end of the targeted body/segment instead of using index.",
      -        "type": "boolean"
      -      },
      -      "height": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "image_uri": {
      -        "description": "Image URL or resolvable image URI.",
      -        "type": "string"
      -      },
      -      "index": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Insertion index. Omit when end_of_segment=true."
      -      },
      -      "segment_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      -      },
      -      "tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Optional document tab ID to target."
      -      },
      -      "type": {
      -        "const": "insert_image",
      -        "type": "string"
      -      },
      -      "width": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "image_uri"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "index": {
      -        "type": "integer"
      -      },
      -      "parent_tab_id": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "title": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "insert_doc_tab",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "title",
      -      "index"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "tab_id": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "delete_doc_tab",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "tab_id"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "tab_id": {
      -        "type": "string"
      -      },
      -      "title": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "update_doc_tab",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "tab_id",
      -      "title"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "end_of_segment": {
      +        "default": false,
      +        "description": "Append to the end of the targeted body/segment instead of using index.",
      +        "type": "boolean"
      +      },
      +      "index": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Insertion index. Omit when end_of_segment=true."
      +      },
      +      "segment_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "text": {
      +        "description": "Text to insert.",
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "insert_text",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "text"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "end_index": {
      +        "type": "integer"
      +      },
      +      "segment_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      +      },
      +      "start_index": {
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "delete_text",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "start_index",
      +      "end_index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "end_index": {
      +        "type": "integer"
      +      },
      +      "segment_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      +      },
      +      "start_index": {
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "text": {
      +        "description": "Replacement text.",
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "replace_text",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "start_index",
      +      "end_index",
      +      "text"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "background_color": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "baseline_offset": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "bold": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "clear_link": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "end_index": {
      +        "type": "integer"
      +      },
      +      "font_family": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "font_size": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "font_weight": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "italic": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "link_url": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "segment_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      +      },
      +      "small_caps": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "start_index": {
      +        "type": "integer"
      +      },
      +      "strikethrough": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "text_color": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "type": {
      +        "const": "format_text",
      +        "type": "string"
      +      },
      +      "underline": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "start_index",
      +      "end_index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "alignment": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "avoid_widow_and_orphan": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "border_color": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "border_dash": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "border_edges": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "enum": [
      +                "top",
      +                "bottom",
      +                "left",
      +                "right",
      +                "between"
      +              ],
      +              "type": "string"
      +            },
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Paragraph border edges to update; omit to update top, bottom, left, and right."
      +      },
      +      "border_padding": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "border_width": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "direction": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "end_index": {
      +        "type": "integer"
      +      },
      +      "heading_level": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "indent_end": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "indent_first_line": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "indent_start": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "keep_lines_together": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "keep_with_next": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "line_spacing": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "named_style_type": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "page_break_before": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "segment_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      +      },
      +      "shading_color": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "space_above": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "space_below": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "spacing_mode": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "start_index": {
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "update_paragraph_style",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "start_index",
      +      "end_index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "background_color": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "border_color": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "border_edges": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "enum": [
      +                "top",
      +                "bottom",
      +                "left",
      +                "right"
      +              ],
      +              "type": "string"
      +            },
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Table-cell border edges to update; omit to update all four edges."
      +      },
      +      "border_width": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "column_index": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "column_span": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "content_alignment": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "padding_bottom": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "padding_left": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "padding_right": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "padding_top": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "row_index": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "row_span": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "table_start_index": {
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "update_table_cell_style",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "table_start_index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "columns": {
      +        "type": "integer"
      +      },
      +      "end_of_segment": {
      +        "default": false,
      +        "description": "Append to the end of the targeted body/segment instead of using index.",
      +        "type": "boolean"
      +      },
      +      "index": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Insertion index. Omit when end_of_segment=true."
      +      },
      +      "rows": {
      +        "type": "integer"
      +      },
      +      "segment_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "insert_table",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "rows",
      +      "columns"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "insert_below": {
      +        "default": true,
      +        "type": "boolean"
      +      },
      +      "row_index": {
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "table_start_index": {
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "insert_table_row",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "table_start_index",
      +      "row_index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "row_index": {
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "table_start_index": {
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "delete_table_row",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "table_start_index",
      +      "row_index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "column_index": {
      +        "type": "integer"
      +      },
      +      "insert_right": {
      +        "default": true,
      +        "type": "boolean"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "table_start_index": {
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "insert_table_column",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "table_start_index",
      +      "column_index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "column_index": {
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "table_start_index": {
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "delete_table_column",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "table_start_index",
      +      "column_index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "column_index": {
      +        "type": "integer"
      +      },
      +      "column_span": {
      +        "type": "integer"
      +      },
      +      "row_index": {
      +        "type": "integer"
      +      },
      +      "row_span": {
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "table_start_index": {
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "merge_table_cells",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "table_start_index",
      +      "row_index",
      +      "column_index",
      +      "row_span",
      +      "column_span"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "column_index": {
      +        "type": "integer"
      +      },
      +      "column_span": {
      +        "type": "integer"
      +      },
      +      "row_index": {
      +        "type": "integer"
      +      },
      +      "row_span": {
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "table_start_index": {
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "unmerge_table_cells",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "table_start_index",
      +      "row_index",
      +      "column_index",
      +      "row_span",
      +      "column_span"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "column_indices": {
      +        "items": {
      +          "type": "integer"
      +        },
      +        "type": "array"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "table_start_index": {
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "update_table_column_properties",
      +        "type": "string"
      +      },
      +      "width": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "width_type": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "table_start_index",
      +      "column_indices"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "min_row_height": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Minimum row height in points."
      +      },
      +      "row_indices": {
      +        "description": "Zero-based row indices to style, e.g. [0] for the header row.",
      +        "items": {
      +          "type": "integer"
      +        },
      +        "type": "array"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "table_start_index": {
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "update_table_row_style",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "table_start_index",
      +      "row_indices"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "pinned_header_rows_count": {
      +        "description": "Number of leading rows to pin as a repeating header on each page. 0 unpins all rows. Use this dedicated request because the 'tableHeader' value reported in TableRowStyle cannot be set through UpdateTableRowStyleRequest.",
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "table_start_index": {
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "pin_table_header_rows",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "table_start_index",
      +      "pinned_header_rows_count"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "end_of_segment": {
      +        "default": false,
      +        "description": "Append to the end of the body instead of using index.",
      +        "type": "boolean"
      +      },
      +      "index": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Insertion index. Omit when end_of_segment=true."
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "insert_page_break",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "end_of_segment": {
      +        "default": false,
      +        "description": "Append to the end of the body instead of using index.",
      +        "type": "boolean"
      +      },
      +      "index": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Insertion index. Omit when end_of_segment=true."
      +      },
      +      "section_type": {
      +        "default": "NEXT_PAGE",
      +        "enum": [
      +          "CONTINUOUS",
      +          "NEXT_PAGE"
      +        ],
      +        "type": "string"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "insert_section_break",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "find_text": {
      +        "type": "string"
      +      },
      +      "match_case": {
      +        "default": false,
      +        "type": "boolean"
      +      },
      +      "replace_text": {
      +        "type": "string"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "find_replace",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "find_text",
      +      "replace_text"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bullet_preset": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "end_index": {
      +        "type": "integer"
      +      },
      +      "list_type": {
      +        "default": "UNORDERED",
      +        "enum": [
      +          "UNORDERED",
      +          "ORDERED",
      +          "CHECKBOX",
      +          "NONE"
      +        ],
      +        "type": "string"
      +      },
      +      "nesting_level": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "paragraph_start_indices": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "type": "integer"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "segment_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      +      },
      +      "start_index": {
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "create_bullet_list",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "start_index",
      +      "end_index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "end_index": {
      +        "type": "integer"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "segment_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      +      },
      +      "start_index": {
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "create_named_range",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "name",
      +      "start_index",
      +      "end_index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "named_range_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "named_range_name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "text": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "replace_named_range_content",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "text"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "named_range_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "named_range_name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "delete_named_range",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "background_color": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "document_mode": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "PAGES",
      +              "PAGELESS"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "flip_page_orientation": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_bottom": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_footer": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_header": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_left": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_right": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_top": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "page_height": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "page_number_start": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "page_width": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "update_document_style",
      +        "type": "string"
      +      },
      +      "use_even_page_header_footer": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "use_first_page_header_footer": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "column_count": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "column_separator_style": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "NONE",
      +              "BETWEEN_EACH_COLUMN"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "column_spacing": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "content_direction": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "LEFT_TO_RIGHT",
      +              "RIGHT_TO_LEFT"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "end_index": {
      +        "type": "integer"
      +      },
      +      "flip_page_orientation": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_bottom": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_footer": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_header": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_left": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_right": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "margin_top": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "page_number_start": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "start_index": {
      +        "type": "integer"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "update_section_style",
      +        "type": "string"
      +      },
      +      "use_first_page_header_footer": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "start_index",
      +      "end_index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "header_footer_type": {
      +        "default": "DEFAULT",
      +        "description": "Header/footer type to create.",
      +        "enum": [
      +          "DEFAULT",
      +          "FIRST_PAGE_ONLY",
      +          "EVEN_PAGE"
      +        ],
      +        "type": "string"
      +      },
      +      "section_break_index": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional section break index for section-scoped layouts."
      +      },
      +      "section_type": {
      +        "description": "Which section to create.",
      +        "enum": [
      +          "header",
      +          "footer"
      +        ],
      +        "type": "string"
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "create_header_footer",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "section_type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "end_of_segment": {
      +        "default": false,
      +        "description": "Append to the end of the targeted body/segment instead of using index.",
      +        "type": "boolean"
      +      },
      +      "height": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "image_uri": {
      +        "description": "Image URL or resolvable image URI.",
      +        "type": "string"
      +      },
      +      "index": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Insertion index. Omit when end_of_segment=true."
      +      },
      +      "segment_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional header/footer/footnote segment ID. Use a real ID returned by inspect_doc_structure; do not guess values like 'kix.header'."
      +      },
      +      "tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Optional document tab ID to target."
      +      },
      +      "type": {
      +        "const": "insert_image",
      +        "type": "string"
      +      },
      +      "width": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "image_uri"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "index": {
      +        "type": "integer"
      +      },
      +      "parent_tab_id": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "title": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "insert_doc_tab",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "title",
      +      "index"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "tab_id": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "delete_doc_tab",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "tab_id"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "tab_id": {
      +        "type": "string"
      +      },
      +      "title": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "update_doc_tab",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "tab_id",
      +      "title"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Addedv1.0.1

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=true, so the description doesn't need to restate safety. It adds value by disclosing atomicity ('single atomic batch update') and warning about 'index calculation errors' with a phased workflow mitigation. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average but well-structured with a core statement, a clear alternative reference, and a WORKFLOW section with headings. The example batch is illustrative and earned its place given the tool's complexity. It could be slightly tighter, but overall every section contributes to usability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's extensive operation schema and the presence of an output schema (per context signals), the description is reasonably complete. It covers key decision points (when to use this vs. update_doc_headers_footers, how to avoid index pitfalls) without repeating schema details. It doesn't enumerate all operation types, but the schema handles that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the three top-level parameters, so the baseline is 3. The description adds semantic guidance through concrete examples (e.g., using end_of_segment=true to avoid index math) and clarifies when operation types like create_header_footer should be used. This supplements the schema meaningfully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb+resource: 'Executes multiple low-level document operations in a single atomic batch update.' It clearly distinguishes this from sibling tools by explicitly stating 'For normal header/footer text, prefer update_doc_headers_footers' and scoping create_header_footer to advanced section-break layouts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use guidance with a named alternative: 'prefer update_doc_headers_footers' for normal headers/footers, and 'Only use create_header_footer here for advanced section-break layouts.' The recommended two-phase workflow (insert content with end_of_segment=true, then create headers/footers) gives clear operational context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/taylorwilsdon/google_workspace_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server