{
  "id": "slides:v1",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/drive": {
          "description": "View and manage the files in your Google Drive"
        },
        "https://www.googleapis.com/auth/spreadsheets.readonly": {
          "description": "View your Google Spreadsheets"
        },
        "https://www.googleapis.com/auth/presentations": {
          "description": "View and manage your Google Slides presentations"
        },
        "https://www.googleapis.com/auth/presentations.readonly": {
          "description": "View your Google Slides presentations"
        },
        "https://www.googleapis.com/auth/drive.readonly": {
          "description": "View the files in your Google Drive"
        },
        "https://www.googleapis.com/auth/spreadsheets": {
          "description": "View and manage your spreadsheets in Google Drive"
        }
      }
    }
  },
  "description": "An API for creating and editing Google Slides presentations.",
  "protocol": "rest",
  "title": "Google Slides API",
  "resources": {
    "presentations": {
      "resources": {
        "pages": {
          "methods": {
            "get": {
              "id": "slides.presentations.pages.get",
              "response": {
                "$ref": "Page"
              },
              "parameterOrder": [
                "presentationId",
                "pageObjectId"
              ],
              "description": "Gets the latest version of the specified page in the presentation.",
              "flatPath": "v1/presentations/{presentationId}/pages/{pageObjectId}",
              "httpMethod": "GET",
              "parameters": {
                "presentationId": {
                  "description": "The ID of the presentation to retrieve.",
                  "required": true,
                  "location": "path",
                  "type": "string"
                },
                "pageObjectId": {
                  "description": "The object ID of the page to retrieve.",
                  "required": true,
                  "location": "path",
                  "type": "string"
                }
              },
              "path": "v1/presentations/{presentationId}/pages/{pageObjectId}",
              "scopes": [
                "https://www.googleapis.com/auth/drive",
                "https://www.googleapis.com/auth/drive.readonly",
                "https://www.googleapis.com/auth/presentations",
                "https://www.googleapis.com/auth/presentations.readonly"
              ]
            }
          }
        }
      },
      "methods": {
        "get": {
          "id": "slides.presentations.get",
          "response": {
            "$ref": "Presentation"
          },
          "parameterOrder": [
            "presentationId"
          ],
          "description": "Gets the latest version of the specified presentation.",
          "flatPath": "v1/presentations/{presentationsId}",
          "httpMethod": "GET",
          "parameters": {
            "presentationId": {
              "description": "The ID of the presentation to retrieve.",
              "required": true,
              "pattern": "^[^/]+$",
              "location": "path",
              "type": "string"
            }
          },
          "path": "v1/presentations/{+presentationId}",
          "scopes": [
            "https://www.googleapis.com/auth/drive",
            "https://www.googleapis.com/auth/drive.readonly",
            "https://www.googleapis.com/auth/presentations",
            "https://www.googleapis.com/auth/presentations.readonly"
          ]
        },
        "create": {
          "id": "slides.presentations.create",
          "response": {
            "$ref": "Presentation"
          },
          "parameterOrder": [],
          "description": "Creates a new presentation using the title given in the request. Other\nfields in the request are ignored.\nReturns the created presentation.",
          "request": {
            "$ref": "Presentation"
          },
          "flatPath": "v1/presentations",
          "httpMethod": "POST",
          "parameters": {},
          "path": "v1/presentations",
          "scopes": [
            "https://www.googleapis.com/auth/drive",
            "https://www.googleapis.com/auth/presentations"
          ]
        },
        "batchUpdate": {
          "id": "slides.presentations.batchUpdate",
          "response": {
            "$ref": "BatchUpdatePresentationResponse"
          },
          "parameterOrder": [
            "presentationId"
          ],
          "description": "Applies one or more updates to the presentation.\n\nEach request is validated before\nbeing applied. If any request is not valid, then the entire request will\nfail and nothing will be applied.\n\nSome requests have replies to\ngive you some information about how they are applied. Other requests do\nnot need to return information; these each return an empty reply.\nThe order of replies matches that of the requests.\n\nFor example, suppose you call batchUpdate with four updates, and only the\nthird one returns information. The response would have two empty replies:\nthe reply to the third request, and another empty reply, in that order.\n\nBecause other users may be editing the presentation, the presentation\nmight not exactly reflect your changes: your changes may\nbe altered with respect to collaborator changes. If there are no\ncollaborators, the presentation should reflect your changes. In any case,\nthe updates in your request are guaranteed to be applied together\natomically.",
          "request": {
            "$ref": "BatchUpdatePresentationRequest"
          },
          "flatPath": "v1/presentations/{presentationId}:batchUpdate",
          "httpMethod": "POST",
          "parameters": {
            "presentationId": {
              "description": "The presentation to apply the updates to.",
              "required": true,
              "location": "path",
              "type": "string"
            }
          },
          "path": "v1/presentations/{presentationId}:batchUpdate",
          "scopes": [
            "https://www.googleapis.com/auth/drive",
            "https://www.googleapis.com/auth/drive.readonly",
            "https://www.googleapis.com/auth/presentations",
            "https://www.googleapis.com/auth/spreadsheets",
            "https://www.googleapis.com/auth/spreadsheets.readonly"
          ]
        }
      }
    }
  },
  "schemas": {
    "StretchedPictureFill": {
      "description": "The stretched picture fill. The page or page element is filled entirely with\nthe specified picture. The picture is stretched to fit its container.",
      "type": "object",
      "properties": {
        "contentUrl": {
          "description": "Reading the content_url:\n\nAn URL to a picture with a default lifetime of 30 minutes.\nThis URL is tagged with the account of the requester. Anyone with the URL\neffectively accesses the picture as the original requester. Access to the\npicture may be lost if the presentation's sharing settings change.\n\nWriting the content_url:\n\nThe picture is fetched once at insertion time and a copy is stored for\ndisplay inside the presentation. Pictures must be less than 50MB in size,\ncannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF\nformat.",
          "type": "string"
        },
        "size": {
          "description": "The original size of the picture fill. This field is read-only.",
          "$ref": "Size"
        }
      },
      "id": "StretchedPictureFill"
    },
    "Image": {
      "description": "A PageElement kind representing an\nimage.",
      "type": "object",
      "properties": {
        "contentUrl": {
          "description": "An URL to an image with a default lifetime of 30 minutes.\nThis URL is tagged with the account of the requester. Anyone with the URL\neffectively accesses the image as the original requester. Access to the\nimage may be lost if the presentation's sharing settings change.",
          "type": "string"
        },
        "imageProperties": {
          "description": "The properties of the image.",
          "$ref": "ImageProperties"
        }
      },
      "id": "Image"
    },
    "VideoProperties": {
      "description": "The properties of the Video.",
      "type": "object",
      "properties": {
        "outline": {
          "description": "The outline of the video. The default outline matches the defaults for new\nvideos created in the Slides editor.",
          "$ref": "Outline"
        }
      },
      "id": "VideoProperties"
    },
    "CropProperties": {
      "description": "The crop properties of an object enclosed in a container. For example, an\nImage.\n\nThe crop properties is represented by the offsets of four edges which define\na crop rectangle. The offsets are measured in percentage from the\ncorresponding edges of the object's original bounding rectangle towards\ninside, relative to the object's original dimensions.\n\n- If the offset is in the interval (0, 1), the corresponding edge of crop\nrectangle is positioned inside of the object's original bounding rectangle.\n- If the offset is negative or greater than 1, the corresponding edge of crop\nrectangle is positioned outside of the object's original bounding rectangle.\n- If the left edge of the crop rectangle is on the right side of its right\nedge, the object will be flipped horizontally.\n- If the top edge of the crop rectangle is below its bottom edge, the object\nwill be flipped vertically.\n- If all offsets and rotation angle is 0, the object is not cropped.\n\nAfter cropping, the content in the crop rectangle will be stretched to fit\nits container.",
      "type": "object",
      "properties": {
        "rightOffset": {
          "description": "The offset specifies the right edge of the crop rectangle that is located\nto the left of the original bounding rectangle right edge, relative to the\nobject's original width.",
          "type": "number",
          "format": "float"
        },
        "angle": {
          "description": "The rotation angle of the crop window around its center, in radians.\nRotation angle is applied after the offset.",
          "type": "number",
          "format": "float"
        },
        "leftOffset": {
          "description": "The offset specifies the left edge of the crop rectangle that is located to\nthe right of the original bounding rectangle left edge, relative to the\nobject's original width.",
          "type": "number",
          "format": "float"
        },
        "topOffset": {
          "description": "The offset specifies the top edge of the crop rectangle that is located\nbelow the original bounding rectangle top edge, relative to the object's\noriginal height.",
          "type": "number",
          "format": "float"
        },
        "bottomOffset": {
          "description": "The offset specifies the bottom edge of the crop rectangle that is located\nabove the original bounding rectangle bottom edge, relative to the object's\noriginal height.",
          "type": "number",
          "format": "float"
        }
      },
      "id": "CropProperties"
    },
    "TableRange": {
      "description": "A table range represents a reference to a subset of a table.\n\nIt's important to note that the cells specified by a table range do not\nnecessarily form a rectangle. For example, let's say we have a 3 x 3 table\nwhere all the cells of the last row are merged together. The table looks\nlike this:\n\n           \n  [             ]\n\nA table range with location = (0, 0), row span = 3 and column span = 2\nspecifies the following cells:\n\n   x     x \n  [      x      ]",
      "type": "object",
      "properties": {
        "location": {
          "description": "The starting location of the table range.",
          "$ref": "TableCellLocation"
        },
        "rowSpan": {
          "description": "The row span of the table range.",
          "type": "integer",
          "format": "int32"
        },
        "columnSpan": {
          "description": "The column span of the table range.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "TableRange"
    },
    "UpdateTextStyleRequest": {
      "description": "Update the styling of text in a Shape or\nTable.",
      "type": "object",
      "properties": {
        "style": {
          "description": "The style(s) to set on the text.\n\nIf the value for a particular style matches that of the parent, that style\nwill be set to inherit.\n\nCertain text style changes may cause other changes meant to mirror the\nbehavior of the Slides editor. See the documentation of\nTextStyle for more information.",
          "$ref": "TextStyle"
        },
        "objectId": {
          "description": "The object ID of the shape or table with the text to be styled.",
          "type": "string"
        },
        "fields": {
          "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `style` is implied and\nshould not be specified. A single `\"*\"` can be used as short-hand for\nlisting every field.\n\nFor example to update the text style to bold, set `fields` to `\"bold\"`.\n\nTo reset a property to its default value,\ninclude its field name in the field mask but leave the field itself unset.",
          "type": "string",
          "format": "google-fieldmask"
        },
        "textRange": {
          "description": "The range of text to style.\n\nThe range may be extended to include adjacent newlines.\n\nIf the range fully contains a paragraph belonging to a list, the\nparagraph's bullet is also updated with the matching text style.",
          "$ref": "Range"
        },
        "cellLocation": {
          "description": "The optional table cell location if the text to be styled is in a table\ncell. If present, the object_id must refer to a table.",
          "$ref": "TableCellLocation"
        }
      },
      "id": "UpdateTextStyleRequest"
    },
    "InsertTextRequest": {
      "description": "Inserts text into a shape or a table cell.",
      "type": "object",
      "properties": {
        "text": {
          "description": "The text to be inserted.\n\nInserting a newline character will implicitly create a new\nParagraphMarker at that index.\nThe paragraph style of the new paragraph will be copied from the paragraph\nat the current insertion index, including lists and bullets.\n\nText styles for inserted text will be determined automatically, generally\npreserving the styling of neighboring text. In most cases, the text will be\nadded to the TextRun that exists at the\ninsertion index.\n\nSome control characters (U+0000-U+0008, U+000C-U+001F) and characters\nfrom the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF)\nwill be stripped out of the inserted text.",
          "type": "string"
        },
        "objectId": {
          "description": "The object ID of the shape or table where the text will be inserted.",
          "type": "string"
        },
        "insertionIndex": {
          "description": "The index where the text will be inserted, in Unicode code units, based\non TextElement indexes.\n\nThe index is zero-based and is computed from the start of the string.\nThe index may be adjusted to prevent insertions inside Unicode grapheme\nclusters. In these cases, the text will be inserted immediately after the\ngrapheme cluster.",
          "type": "integer",
          "format": "int32"
        },
        "cellLocation": {
          "description": "The optional table cell location if the text is to be inserted into a table\ncell. If present, the object_id must refer to a table.",
          "$ref": "TableCellLocation"
        }
      },
      "id": "InsertTextRequest"
    },
    "RgbColor": {
      "description": "An RGB color.",
      "type": "object",
      "properties": {
        "green": {
          "description": "The green component of the color, from 0.0 to 1.0.",
          "type": "number",
          "format": "float"
        },
        "blue": {
          "description": "The blue component of the color, from 0.0 to 1.0.",
          "type": "number",
          "format": "float"
        },
        "red": {
          "description": "The red component of the color, from 0.0 to 1.0.",
          "type": "number",
          "format": "float"
        }
      },
      "id": "RgbColor"
    },
    "PageElementProperties": {
      "description": "Common properties for a page element.\n\nNote: When you initially create a\nPageElement, the API may modify\nthe values of both `size` and `transform`, but the\nvisual size will be unchanged.",
      "type": "object",
      "properties": {
        "size": {
          "description": "The size of the element.",
          "$ref": "Size"
        },
        "pageObjectId": {
          "description": "The object ID of the page where the element is located.",
          "type": "string"
        },
        "transform": {
          "description": "The transform for the element.",
          "$ref": "AffineTransform"
        }
      },
      "id": "PageElementProperties"
    },
    "DeleteTextRequest": {
      "description": "Deletes text from a shape or a table cell.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the shape or table from which the text will be deleted.",
          "type": "string"
        },
        "textRange": {
          "description": "The range of text to delete, based on TextElement indexes.\n\nThere is always an implicit newline character at the end of a shape's or\ntable cell's text that cannot be deleted. `Range.Type.ALL` will use the\ncorrect bounds, but care must be taken when specifying explicit bounds for\nrange types `FROM_START_INDEX` and `FIXED_RANGE`. For example, if the text\nis \"ABC\", followed by an implicit newline, then the maximum value is 2 for\n`text_range.start_index` and 3 for `text_range.end_index`.\n\nDeleting text that crosses a paragraph boundary may result in changes\nto paragraph styles and lists as the two paragraphs are merged.\n\nRanges that include only one code unit of a surrogate pair are expanded to\ninclude both code units.",
          "$ref": "Range"
        },
        "cellLocation": {
          "description": "The optional table cell location if the text is to be deleted from a table\ncell. If present, the object_id must refer to a table.",
          "$ref": "TableCellLocation"
        }
      },
      "id": "DeleteTextRequest"
    },
    "ParagraphStyle": {
      "description": "Styles that apply to a whole paragraph.\n\nIf this text is contained in a shape with a parent placeholder, then these paragraph styles may be\ninherited from the parent. Which paragraph styles are inherited depend on the\nnesting level of lists:\n\n* A paragraph not in a list will inherit its paragraph style from the\n  paragraph at the 0 nesting level of the list inside the parent placeholder.\n* A paragraph in a list will inherit its paragraph style from the paragraph\n  at its corresponding nesting level of the list inside the parent\n  placeholder.\n\nInherited paragraph styles are represented as unset fields in this message.",
      "type": "object",
      "properties": {
        "lineSpacing": {
          "description": "The amount of space between lines, as a percentage of normal, where normal\nis represented as 100.0. If unset, the value is inherited from the parent.\nThis property is read-only.",
          "type": "number",
          "format": "float"
        },
        "spacingMode": {
          "description": "The spacing mode for the paragraph. This property is read-only.",
          "enum": [
            "SPACING_MODE_UNSPECIFIED",
            "NEVER_COLLAPSE",
            "COLLAPSE_LISTS"
          ],
          "enumDescriptions": [
            "The spacing mode is inherited from the parent.",
            "Paragraph spacing is always rendered.",
            "Paragraph spacing is skipped between list elements."
          ],
          "type": "string"
        },
        "alignment": {
          "description": "The text alignment for this paragraph. This property is read-only.",
          "enum": [
            "ALIGNMENT_UNSPECIFIED",
            "START",
            "CENTER",
            "END",
            "JUSTIFIED"
          ],
          "enumDescriptions": [
            "The paragraph alignment is inherited from the parent.",
            "The paragraph is aligned to the start of the line. Left-aligned for\nLTR text, right-aligned otherwise.",
            "The paragraph is centered.",
            "The paragraph is aligned to the end of the line. Right-aligned for\nLTR text, left-aligned otherwise.",
            "The paragraph is justified."
          ],
          "type": "string"
        },
        "spaceAbove": {
          "description": "The amount of extra space above the paragraph. If unset, the value is\ninherited from the parent. This property is read-only.",
          "$ref": "Dimension"
        },
        "direction": {
          "description": "The text direction of this paragraph. This property is read-only.",
          "enum": [
            "TEXT_DIRECTION_UNSPECIFIED",
            "LEFT_TO_RIGHT",
            "RIGHT_TO_LEFT"
          ],
          "enumDescriptions": [
            "The text direction is inherited from the parent.",
            "The text goes from left to right.",
            "The text goes from right to left."
          ],
          "type": "string"
        },
        "indentEnd": {
          "description": "The amount indentation for the paragraph on the side that corresponds to\nthe end of the text, based on the current text direction. If unset, the\nvalue is inherited from the parent. This property is read-only.",
          "$ref": "Dimension"
        },
        "indentFirstLine": {
          "description": "The amount of indentation for the start of the first line of the paragraph.\nIf unset, the value is inherited from the parent. This property is\nread-only.",
          "$ref": "Dimension"
        },
        "indentStart": {
          "description": "The amount indentation for the paragraph on the side that corresponds to\nthe start of the text, based on the current text direction. If unset, the\nvalue is inherited from the parent. This property is read-only.",
          "$ref": "Dimension"
        },
        "spaceBelow": {
          "description": "The amount of extra space above the paragraph. If unset, the value is\ninherited from the parent. This property is read-only.",
          "$ref": "Dimension"
        }
      },
      "id": "ParagraphStyle"
    },
    "Page": {
      "description": "A page in a presentation.",
      "type": "object",
      "properties": {
        "slideProperties": {
          "description": "Slide specific properties. Only set if page_type = SLIDE.",
          "$ref": "SlideProperties"
        },
        "pageType": {
          "description": "The type of the page.",
          "enum": [
            "SLIDE",
            "MASTER",
            "LAYOUT"
          ],
          "enumDescriptions": [
            "A slide page.",
            "A master slide page.",
            "A layout page."
          ],
          "type": "string"
        },
        "pageElements": {
          "description": "The page elements rendered on the page.",
          "type": "array",
          "items": {
            "$ref": "PageElement"
          }
        },
        "pageProperties": {
          "description": "The properties of the page.",
          "$ref": "PageProperties"
        },
        "layoutProperties": {
          "description": "Layout specific properties. Only set if page_type = LAYOUT.",
          "$ref": "LayoutProperties"
        },
        "objectId": {
          "description": "The object ID for this page. Object IDs used by\nPage and\nPageElement share the same namespace.",
          "type": "string"
        }
      },
      "id": "Page"
    },
    "UpdateShapePropertiesRequest": {
      "description": "Update the properties of a Shape.",
      "type": "object",
      "properties": {
        "shapeProperties": {
          "description": "The shape properties to update.",
          "$ref": "ShapeProperties"
        },
        "objectId": {
          "description": "The object ID of the shape the updates are applied to.",
          "type": "string"
        },
        "fields": {
          "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `shapeProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the shape background solid fill color, set `fields`\nto `\"shapeBackgroundFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.",
          "type": "string",
          "format": "google-fieldmask"
        }
      },
      "id": "UpdateShapePropertiesRequest"
    },
    "CreateLineResponse": {
      "description": "The result of creating a line.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the created line.",
          "type": "string"
        }
      },
      "id": "CreateLineResponse"
    },
    "Presentation": {
      "description": "A Google Slides presentation.",
      "type": "object",
      "properties": {
        "title": {
          "description": "The title of the presentation.",
          "type": "string"
        },
        "locale": {
          "description": "The locale of the presentation, as an IETF BCP 47 language tag.",
          "type": "string"
        },
        "slides": {
          "description": "The slides in the presentation.\nA slide inherits properties from a slide layout.",
          "type": "array",
          "items": {
            "$ref": "Page"
          }
        },
        "masters": {
          "description": "The slide masters in the presentation. A slide master contains all common\npage elements and the common properties for a set of layouts. They serve\nthree purposes:\n\n- Placeholder shapes on a master contain the default text styles and shape\n  properties of all placeholder shapes on pages that use that master.\n- The master page properties define the common page properties inherited by\n  its layouts.\n- Any other shapes on the master slide will appear on all slides using that\n  master, regardless of their layout.",
          "type": "array",
          "items": {
            "$ref": "Page"
          }
        },
        "pageSize": {
          "description": "The size of pages in the presentation.",
          "$ref": "Size"
        },
        "presentationId": {
          "description": "The ID of the presentation.",
          "type": "string"
        },
        "layouts": {
          "description": "The layouts in the presentation. A layout is a template that determines\nhow content is arranged and styled on the slides that inherit from that\nlayout.",
          "type": "array",
          "items": {
            "$ref": "Page"
          }
        }
      },
      "id": "Presentation"
    },
    "CreateImageRequest": {
      "description": "Creates an image.",
      "type": "object",
      "properties": {
        "url": {
          "description": "The image URL.\n\nThe image is fetched once at insertion time and a copy is stored for\ndisplay inside the presentation. Images must be less than 50MB in size,\ncannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF\nformat.",
          "type": "string"
        },
        "objectId": {
          "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.",
          "type": "string"
        },
        "elementProperties": {
          "description": "The element properties for the image.\n\nWhen the aspect ratio of the provided size does not match the image aspect\nratio, the image is scaled and centered with respect to the size in order\nto maintain aspect ratio. The provided transform is applied after this\noperation.",
          "$ref": "PageElementProperties"
        }
      },
      "id": "CreateImageRequest"
    },
    "SlideProperties": {
      "description": "The properties of Page that are only\nrelevant for pages with page_type SLIDE.",
      "type": "object",
      "properties": {
        "layoutObjectId": {
          "description": "The object ID of the layout that this slide is based on.",
          "type": "string"
        },
        "masterObjectId": {
          "description": "The object ID of the master that this slide is based on.",
          "type": "string"
        }
      },
      "id": "SlideProperties"
    },
    "UpdatePageElementTransformRequest": {
      "description": "Updates the transform of a page element.",
      "type": "object",
      "properties": {
        "applyMode": {
          "description": "The apply mode of the transform update.",
          "enum": [
            "APPLY_MODE_UNSPECIFIED",
            "RELATIVE",
            "ABSOLUTE"
          ],
          "enumDescriptions": [
            "Unspecified mode.",
            "Applies the new AffineTransform matrix to the existing one, and\nreplaces the existing one with the resulting concatenation.",
            "Replaces the existing AffineTransform matrix with the new one."
          ],
          "type": "string"
        },
        "objectId": {
          "description": "The object ID of the page element to update.",
          "type": "string"
        },
        "transform": {
          "description": "The input transform matrix used to update the page element.",
          "$ref": "AffineTransform"
        }
      },
      "id": "UpdatePageElementTransformRequest"
    },
    "List": {
      "description": "A List describes the look and feel of bullets belonging to paragraphs\nassociated with a list. A paragraph that is part of a list has an implicit\nreference to that list's ID.",
      "type": "object",
      "properties": {
        "nestingLevel": {
          "description": "A map of nesting levels to the properties of bullets at the associated\nlevel. A list has at most nine levels of nesting, so the possible values\nfor the keys of this map are 0 through 8, inclusive.",
          "additionalProperties": {
            "$ref": "NestingLevel"
          },
          "type": "object"
        },
        "listId": {
          "description": "The ID of the list.",
          "type": "string"
        }
      },
      "id": "List"
    },
    "CreateVideoResponse": {
      "description": "The result of creating a video.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the created video.",
          "type": "string"
        }
      },
      "id": "CreateVideoResponse"
    },
    "InsertTableRowsRequest": {
      "description": "Inserts rows into a table.",
      "type": "object",
      "properties": {
        "tableObjectId": {
          "description": "The table to insert rows into.",
          "type": "string"
        },
        "insertBelow": {
          "description": "Whether to insert new rows below the reference cell location.\n\n- `True`: insert below the cell.\n- `False`: insert above the cell.",
          "type": "boolean"
        },
        "cellLocation": {
          "description": "The reference table cell location from which rows will be inserted.\n\nA new row will be inserted above (or below) the row where the reference\ncell is. If the reference cell is a merged cell, a new row will be\ninserted above (or below) the merged cell.",
          "$ref": "TableCellLocation"
        },
        "number": {
          "description": "The number of rows to be inserted. Maximum 20 per request.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "InsertTableRowsRequest"
    },
    "UpdateVideoPropertiesRequest": {
      "description": "Update the properties of a Video.",
      "type": "object",
      "properties": {
        "videoProperties": {
          "description": "The video properties to update.",
          "$ref": "VideoProperties"
        },
        "objectId": {
          "description": "The object ID of the video the updates are applied to.",
          "type": "string"
        },
        "fields": {
          "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `videoProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the video outline color, set `fields` to\n`\"outline.outlineFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.",
          "type": "string",
          "format": "google-fieldmask"
        }
      },
      "id": "UpdateVideoPropertiesRequest"
    },
    "OpaqueColor": {
      "description": "A themeable solid color value.",
      "type": "object",
      "properties": {
        "rgbColor": {
          "description": "An opaque RGB color.",
          "$ref": "RgbColor"
        },
        "themeColor": {
          "description": "An opaque theme color.",
          "enum": [
            "THEME_COLOR_TYPE_UNSPECIFIED",
            "DARK1",
            "LIGHT1",
            "DARK2",
            "LIGHT2",
            "ACCENT1",
            "ACCENT2",
            "ACCENT3",
            "ACCENT4",
            "ACCENT5",
            "ACCENT6",
            "HYPERLINK",
            "FOLLOWED_HYPERLINK",
            "TEXT1",
            "BACKGROUND1",
            "TEXT2",
            "BACKGROUND2"
          ],
          "enumDescriptions": [
            "Unspecified theme color. This value should not be used.",
            "Represents the first dark color.",
            "Represents the first light color.",
            "Represents the second dark color.",
            "Represents the second light color.",
            "Represents the first accent color.",
            "Represents the second accent color.",
            "Represents the third accent color.",
            "Represents the fourth accent color.",
            "Represents the fifth accent color.",
            "Represents the sixth accent color.",
            "Represents the color to use for hyperlinks.",
            "Represents the color to use for visited hyperlinks.",
            "Represents the first text color.",
            "Represents the first background color.",
            "Represents the second text color.",
            "Represents the second background color."
          ],
          "type": "string"
        }
      },
      "id": "OpaqueColor"
    },
    "Response": {
      "description": "A single response from an update.",
      "type": "object",
      "properties": {
        "createTable": {
          "description": "The result of creating a table.",
          "$ref": "CreateTableResponse"
        },
        "replaceAllText": {
          "description": "The result of replacing text.",
          "$ref": "ReplaceAllTextResponse"
        },
        "createLine": {
          "description": "The result of creating a line.",
          "$ref": "CreateLineResponse"
        },
        "createSheetsChart": {
          "description": "The result of creating a Google Sheets chart.",
          "$ref": "CreateSheetsChartResponse"
        },
        "createSlide": {
          "description": "The result of creating a slide.",
          "$ref": "CreateSlideResponse"
        },
        "createShape": {
          "description": "The result of creating a shape.",
          "$ref": "CreateShapeResponse"
        },
        "replaceAllShapesWithImage": {
          "description": "The result of replacing all shapes containing the specified text with\nan image.",
          "$ref": "ReplaceAllShapesWithImageResponse"
        },
        "createVideo": {
          "description": "The result of creating a video.",
          "$ref": "CreateVideoResponse"
        },
        "createImage": {
          "description": "The result of creating an image.",
          "$ref": "CreateImageResponse"
        },
        "duplicateObject": {
          "description": "The result of duplicating an object.",
          "$ref": "DuplicateObjectResponse"
        }
      },
      "id": "Response"
    },
    "LineProperties": {
      "description": "The properties of the Line.\n\nWhen unset, these fields default to values that match the appearance of\nnew lines created in the Slides editor.",
      "type": "object",
      "properties": {
        "weight": {
          "description": "The thickness of the line.",
          "$ref": "Dimension"
        },
        "endArrow": {
          "description": "The style of the arrow at the end of the line.",
          "enum": [
            "ARROW_STYLE_UNSPECIFIED",
            "NONE",
            "STEALTH_ARROW",
            "FILL_ARROW",
            "FILL_CIRCLE",
            "FILL_SQUARE",
            "FILL_DIAMOND",
            "OPEN_ARROW",
            "OPEN_CIRCLE",
            "OPEN_SQUARE",
            "OPEN_DIAMOND"
          ],
          "enumDescriptions": [
            "An unspecified arrow style.",
            "No arrow.",
            "Arrow with notched back. Corresponds to ECMA-376 ST_LineEndType value\n'stealth'.",
            "Filled arrow. Corresponds to ECMA-376 ST_LineEndType value 'triangle'.",
            "Filled circle. Corresponds to ECMA-376 ST_LineEndType value 'oval'.",
            "Filled square.",
            "Filled diamond. Corresponds to ECMA-376 ST_LineEndType value 'diamond'.",
            "Hollow arrow.",
            "Hollow circle.",
            "Hollow square.",
            "Hollow diamond."
          ],
          "type": "string"
        },
        "link": {
          "description": "The hyperlink destination of the line. If unset, there is no link.",
          "$ref": "Link"
        },
        "lineFill": {
          "description": "The fill of the line. The default line fill matches the defaults for new\nlines created in the Slides editor.",
          "$ref": "LineFill"
        },
        "dashStyle": {
          "description": "The dash style of the line.",
          "enum": [
            "DASH_STYLE_UNSPECIFIED",
            "SOLID",
            "DOT",
            "DASH",
            "DASH_DOT",
            "LONG_DASH",
            "LONG_DASH_DOT"
          ],
          "enumDescriptions": [
            "Unspecified dash style.",
            "Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'.\nThis is the default dash style.",
            "Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.",
            "Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'.",
            "Alternating dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'dashDot'.",
            "Line with large dashes. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'lgDash'.",
            "Alternating large dashes and dots. Corresponds to ECMA-376\nST_PresetLineDashVal value 'lgDashDot'."
          ],
          "type": "string"
        },
        "startArrow": {
          "description": "The style of the arrow at the beginning of the line.",
          "enum": [
            "ARROW_STYLE_UNSPECIFIED",
            "NONE",
            "STEALTH_ARROW",
            "FILL_ARROW",
            "FILL_CIRCLE",
            "FILL_SQUARE",
            "FILL_DIAMOND",
            "OPEN_ARROW",
            "OPEN_CIRCLE",
            "OPEN_SQUARE",
            "OPEN_DIAMOND"
          ],
          "enumDescriptions": [
            "An unspecified arrow style.",
            "No arrow.",
            "Arrow with notched back. Corresponds to ECMA-376 ST_LineEndType value\n'stealth'.",
            "Filled arrow. Corresponds to ECMA-376 ST_LineEndType value 'triangle'.",
            "Filled circle. Corresponds to ECMA-376 ST_LineEndType value 'oval'.",
            "Filled square.",
            "Filled diamond. Corresponds to ECMA-376 ST_LineEndType value 'diamond'.",
            "Hollow arrow.",
            "Hollow circle.",
            "Hollow square.",
            "Hollow diamond."
          ],
          "type": "string"
        }
      },
      "id": "LineProperties"
    },
    "Table": {
      "description": "A PageElement kind representing a\ntable.",
      "type": "object",
      "properties": {
        "columns": {
          "description": "Number of columns in the table.",
          "type": "integer",
          "format": "int32"
        },
        "tableColumns": {
          "description": "Properties of each column.",
          "type": "array",
          "items": {
            "$ref": "TableColumnProperties"
          }
        },
        "rows": {
          "description": "Number of rows in the table.",
          "type": "integer",
          "format": "int32"
        },
        "tableRows": {
          "description": "Properties and contents of each row.\n\nCells that span multiple rows are contained in only one of these rows and\nhave a row_span greater\nthan 1.",
          "type": "array",
          "items": {
            "$ref": "TableRow"
          }
        }
      },
      "id": "Table"
    },
    "NestingLevel": {
      "description": "Contains properties describing the look and feel of a list bullet at a given\nlevel of nesting.",
      "type": "object",
      "properties": {
        "bulletStyle": {
          "description": "The style of a bullet at this level of nesting.",
          "$ref": "TextStyle"
        }
      },
      "id": "NestingLevel"
    },
    "DuplicateObjectResponse": {
      "description": "The response of duplicating an object.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The ID of the new duplicate object.",
          "type": "string"
        }
      },
      "id": "DuplicateObjectResponse"
    },
    "RefreshSheetsChartRequest": {
      "description": "Refreshes an embedded Google Sheets chart by replacing it with the latest\nversion of the chart from Google Sheets.\n\nNOTE: Refreshing charts requires  at least one of the spreadsheets.readonly,\nspreadsheets, drive.readonly, or drive OAuth scopes.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the chart to refresh.",
          "type": "string"
        }
      },
      "id": "RefreshSheetsChartRequest"
    },
    "TableCellLocation": {
      "description": "A location of a single table cell within a table.",
      "type": "object",
      "properties": {
        "rowIndex": {
          "description": "The 0-based row index.",
          "type": "integer",
          "format": "int32"
        },
        "columnIndex": {
          "description": "The 0-based column index.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "TableCellLocation"
    },
    "TextContent": {
      "description": "The general text content. The text must reside in a compatible shape (e.g.\ntext box or rectangle) or a table cell in a page.",
      "type": "object",
      "properties": {
        "lists": {
          "description": "The bulleted lists contained in this text, keyed by list ID.",
          "additionalProperties": {
            "$ref": "List"
          },
          "type": "object"
        },
        "textElements": {
          "description": "The text contents broken down into its component parts, including styling\ninformation. This property is read-only.",
          "type": "array",
          "items": {
            "$ref": "TextElement"
          }
        }
      },
      "id": "TextContent"
    },
    "PageElement": {
      "description": "A visual element rendered on a page.",
      "type": "object",
      "properties": {
        "description": {
          "description": "The description of the page element. Combined with title to display alt\ntext.",
          "type": "string"
        },
        "title": {
          "description": "The title of the page element. Combined with description to display alt\ntext.",
          "type": "string"
        },
        "transform": {
          "description": "The transform of the page element.",
          "$ref": "AffineTransform"
        },
        "video": {
          "description": "A video page element.",
          "$ref": "Video"
        },
        "sheetsChart": {
          "description": "A linked chart embedded from Google Sheets. Unlinked charts are\nrepresented as images.",
          "$ref": "SheetsChart"
        },
        "line": {
          "description": "A line page element.",
          "$ref": "Line"
        },
        "table": {
          "description": "A table page element.",
          "$ref": "Table"
        },
        "wordArt": {
          "description": "A word art page element.",
          "$ref": "WordArt"
        },
        "shape": {
          "description": "A generic shape.",
          "$ref": "Shape"
        },
        "elementGroup": {
          "description": "A collection of page elements joined as a single unit.",
          "$ref": "Group"
        },
        "image": {
          "description": "An image page element.",
          "$ref": "Image"
        },
        "objectId": {
          "description": "The object ID for this page element. Object IDs used by\ngoogle.apps.slides.v1.Page and\ngoogle.apps.slides.v1.PageElement share the same namespace.",
          "type": "string"
        },
        "size": {
          "description": "The size of the page element.",
          "$ref": "Size"
        }
      },
      "id": "PageElement"
    },
    "UpdatePagePropertiesRequest": {
      "description": "Updates the properties of a Page.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the page the update is applied to.",
          "type": "string"
        },
        "fields": {
          "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `pageProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the page background solid fill color, set `fields`\nto `\"pageBackgroundFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.",
          "type": "string",
          "format": "google-fieldmask"
        },
        "pageProperties": {
          "description": "The page properties to update.",
          "$ref": "PageProperties"
        }
      },
      "id": "UpdatePagePropertiesRequest"
    },
    "UpdateTableCellPropertiesRequest": {
      "description": "Update the properties of a TableCell.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the table.",
          "type": "string"
        },
        "tableRange": {
          "description": "The table range representing the subset of the table to which the updates\nare applied. If a table range is not specified, the updates will apply to\nthe entire table.",
          "$ref": "TableRange"
        },
        "fields": {
          "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `tableCellProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the table cell background solid fill color, set\n`fields` to `\"tableCellBackgroundFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.",
          "type": "string",
          "format": "google-fieldmask"
        },
        "tableCellProperties": {
          "description": "The table cell properties to update.",
          "$ref": "TableCellProperties"
        }
      },
      "id": "UpdateTableCellPropertiesRequest"
    },
    "BatchUpdatePresentationRequest": {
      "description": "Request message for PresentationsService.BatchUpdatePresentation.",
      "type": "object",
      "properties": {
        "requests": {
          "description": "A list of updates to apply to the presentation.",
          "type": "array",
          "items": {
            "$ref": "Request"
          }
        }
      },
      "id": "BatchUpdatePresentationRequest"
    },
    "Dimension": {
      "description": "A magnitude in a single direction in the specified units.",
      "type": "object",
      "properties": {
        "unit": {
          "description": "The units for magnitude.",
          "enum": [
            "UNIT_UNSPECIFIED",
            "EMU",
            "PT"
          ],
          "enumDescriptions": [
            "The units are unknown.",
            "An English Metric Unit (EMU) is defined as 1/360,000 of a centimeter\nand thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.",
            "A point, 1/72 of an inch."
          ],
          "type": "string"
        },
        "magnitude": {
          "description": "The magnitude.",
          "type": "number",
          "format": "double"
        }
      },
      "id": "Dimension"
    },
    "Placeholder": {
      "description": "The placeholder information that uniquely identifies a placeholder shape.",
      "type": "object",
      "properties": {
        "index": {
          "description": "The index of the placeholder. If the same placeholder types are the present\nin the same page, they would have different index values.",
          "type": "integer",
          "format": "int32"
        },
        "type": {
          "description": "The type of the placeholder.",
          "enum": [
            "NONE",
            "BODY",
            "CHART",
            "CLIP_ART",
            "CENTERED_TITLE",
            "DIAGRAM",
            "DATE_AND_TIME",
            "FOOTER",
            "HEADER",
            "MEDIA",
            "OBJECT",
            "PICTURE",
            "SLIDE_NUMBER",
            "SUBTITLE",
            "TABLE",
            "TITLE",
            "SLIDE_IMAGE"
          ],
          "enumDescriptions": [
            "Default value, signifies it is not a placeholder.",
            "Body text.",
            "Chart or graph.",
            "Clip art image.",
            "Title centered.",
            "Diagram.",
            "Date and time.",
            "Footer text.",
            "Header text.",
            "Multimedia.",
            "Any content type.",
            "Picture.",
            "Number of a slide.",
            "Subtitle.",
            "Table.",
            "Slide title.",
            "Slide image."
          ],
          "type": "string"
        },
        "parentObjectId": {
          "description": "The object ID of this shape's parent placeholder.\nIf unset, the parent placeholder shape does not exist, so the shape does\nnot inherit properties from any other shape.",
          "type": "string"
        }
      },
      "id": "Placeholder"
    },
    "CreateSheetsChartRequest": {
      "description": "Creates an embedded Google Sheets chart.\n\nNOTE: Chart creation requires  at least one of the spreadsheets.readonly,\nspreadsheets, drive.readonly, or drive OAuth scopes.",
      "type": "object",
      "properties": {
        "chartId": {
          "description": "The ID of the specific chart in the Google Sheets spreadsheet.",
          "type": "integer",
          "format": "int32"
        },
        "objectId": {
          "description": "A user-supplied object ID.\n\nIf specified, the ID must be unique among all pages and page elements in\nthe presentation. The ID should start with a word character [a-zA-Z0-9_]\nand then followed by any number of the following characters [a-zA-Z0-9_-:].\nThe length of the ID should not be less than 5 or greater than 50.\nIf empty, a unique identifier will be generated.",
          "type": "string"
        },
        "spreadsheetId": {
          "description": "The ID of the Google Sheets spreadsheet that contains the chart.",
          "type": "string"
        },
        "elementProperties": {
          "description": "The element properties for the chart.\n\nWhen the aspect ratio of the provided size does not match the chart aspect\nratio, the chart is scaled and centered with respect to the size in order\nto maintain aspect ratio. The provided transform is applied after this\noperation.",
          "$ref": "PageElementProperties"
        },
        "linkingMode": {
          "description": "The mode with which the chart is linked to the source spreadsheet. When\nnot specified, the chart will be an image that is not linked.",
          "enum": [
            "NOT_LINKED_IMAGE",
            "LINKED"
          ],
          "enumDescriptions": [
            "The chart is not associated with the source spreadsheet and cannot be\nupdated. A chart that is not linked will be inserted as an image.",
            "Linking the chart allows it to be updated, and other collaborators will\nsee a link to the spreadsheet."
          ],
          "type": "string"
        }
      },
      "id": "CreateSheetsChartRequest"
    },
    "DeleteTableRowRequest": {
      "description": "Deletes a row from a table.",
      "type": "object",
      "properties": {
        "tableObjectId": {
          "description": "The table to delete rows from.",
          "type": "string"
        },
        "cellLocation": {
          "description": "The reference table cell location from which a row will be deleted.\n\nThe row this cell spans will be deleted. If this is a merged cell, multiple\nrows will be deleted. If no rows remain in the table after this deletion,\nthe whole table is deleted.",
          "$ref": "TableCellLocation"
        }
      },
      "id": "DeleteTableRowRequest"
    },
    "Video": {
      "description": "A PageElement kind representing a\nvideo.",
      "type": "object",
      "properties": {
        "url": {
          "description": "An URL to a video. The URL is valid as long as the source video\nexists and sharing settings do not change.",
          "type": "string"
        },
        "videoProperties": {
          "description": "The properties of the video.",
          "$ref": "VideoProperties"
        },
        "source": {
          "description": "The video source.",
          "enum": [
            "SOURCE_UNSPECIFIED",
            "YOUTUBE"
          ],
          "enumDescriptions": [
            "The video source is unspecified.",
            "The video source is YouTube."
          ],
          "type": "string"
        },
        "id": {
          "description": "The video source's unique identifier for this video.",
          "type": "string"
        }
      },
      "id": "Video"
    },
    "Link": {
      "description": "A hypertext link.",
      "type": "object",
      "properties": {
        "url": {
          "description": "If set, indicates this is a link to the external web page at this URL.",
          "type": "string"
        },
        "relativeLink": {
          "description": "If set, indicates this is a link to a slide in this presentation,\naddressed by its position.",
          "enum": [
            "RELATIVE_SLIDE_LINK_UNSPECIFIED",
            "NEXT_SLIDE",
            "PREVIOUS_SLIDE",
            "FIRST_SLIDE",
            "LAST_SLIDE"
          ],
          "enumDescriptions": [
            "An unspecified relative slide link.",
            "A link to the next slide.",
            "A link to the previous slide.",
            "A link to the first slide in the presentation.",
            "A link to the last slide in the presentation."
          ],
          "type": "string"
        },
        "slideIndex": {
          "description": "If set, indicates this is a link to the slide at this zero-based index\nin the presentation. There may not be a slide at this index.",
          "type": "integer",
          "format": "int32"
        },
        "pageObjectId": {
          "description": "If set, indicates this is a link to the specific page in this\npresentation with this ID. A page with this ID may not exist.",
          "type": "string"
        }
      },
      "id": "Link"
    },
    "PageBackgroundFill": {
      "description": "The page background fill.",
      "type": "object",
      "properties": {
        "stretchedPictureFill": {
          "description": "Stretched picture fill.",
          "$ref": "StretchedPictureFill"
        },
        "propertyState": {
          "description": "The background fill property state.\n\nUpdating the the fill on a page will implicitly update this field to\n`RENDERED`, unless another value is specified in the same request. To\nhave no fill on a page, set this field to `NOT_RENDERED`. In this case,\nany other fill fields set in the same request will be ignored.",
          "enum": [
            "RENDERED",
            "NOT_RENDERED",
            "INHERIT"
          ],
          "enumDescriptions": [
            "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.",
            "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.",
            "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state."
          ],
          "type": "string"
        },
        "solidFill": {
          "description": "Solid color fill.",
          "$ref": "SolidFill"
        }
      },
      "id": "PageBackgroundFill"
    },
    "ColorStop": {
      "description": "A color and position in a gradient band.",
      "type": "object",
      "properties": {
        "color": {
          "description": "The color of the gradient stop.",
          "$ref": "OpaqueColor"
        },
        "position": {
          "description": "The relative position of the color stop in the gradient band measured\nin percentage. The value should be in the interval [0.0, 1.0].",
          "type": "number",
          "format": "float"
        },
        "alpha": {
          "description": "The alpha value of this color in the gradient band. Defaults to 1.0,\nfully opaque.",
          "type": "number",
          "format": "float"
        }
      },
      "id": "ColorStop"
    },
    "ThemeColorPair": {
      "description": "A pair mapping a theme color type to the concrete color it represents.",
      "type": "object",
      "properties": {
        "color": {
          "description": "The concrete color corresponding to the theme color type above.",
          "$ref": "RgbColor"
        },
        "type": {
          "description": "The type of the theme color.",
          "enum": [
            "THEME_COLOR_TYPE_UNSPECIFIED",
            "DARK1",
            "LIGHT1",
            "DARK2",
            "LIGHT2",
            "ACCENT1",
            "ACCENT2",
            "ACCENT3",
            "ACCENT4",
            "ACCENT5",
            "ACCENT6",
            "HYPERLINK",
            "FOLLOWED_HYPERLINK",
            "TEXT1",
            "BACKGROUND1",
            "TEXT2",
            "BACKGROUND2"
          ],
          "enumDescriptions": [
            "Unspecified theme color. This value should not be used.",
            "Represents the first dark color.",
            "Represents the first light color.",
            "Represents the second dark color.",
            "Represents the second light color.",
            "Represents the first accent color.",
            "Represents the second accent color.",
            "Represents the third accent color.",
            "Represents the fourth accent color.",
            "Represents the fifth accent color.",
            "Represents the sixth accent color.",
            "Represents the color to use for hyperlinks.",
            "Represents the color to use for visited hyperlinks.",
            "Represents the first text color.",
            "Represents the first background color.",
            "Represents the second text color.",
            "Represents the second background color."
          ],
          "type": "string"
        }
      },
      "id": "ThemeColorPair"
    },
    "ReplaceAllShapesWithImageRequest": {
      "description": "Replaces all shapes that match the given criteria with the provided image.",
      "type": "object",
      "properties": {
        "replaceMethod": {
          "description": "The replace method.",
          "enum": [
            "CENTER_INSIDE",
            "CENTER_CROP"
          ],
          "enumDescriptions": [
            "Scales and centers the image to fit within the bounds of the original\nshape and maintains the image's aspect ratio. The rendered size of the\nimage may be smaller than the size of the shape. This is the default\nmethod when one is not specified.",
            "Scales and centers the image to fill the bounds of the original shape.\nThe image may be cropped in order to fill the shape. The rendered size of\nthe image will be the same as that of the original shape."
          ],
          "type": "string"
        },
        "containsText": {
          "description": "If set, this request will replace all of the shapes that contain the\ngiven text.",
          "$ref": "SubstringMatchCriteria"
        },
        "imageUrl": {
          "description": "The image URL.\n\nThe image is fetched once at insertion time and a copy is stored for\ndisplay inside the presentation. Images must be less than 50MB in size,\ncannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF\nformat.",
          "type": "string"
        }
      },
      "id": "ReplaceAllShapesWithImageRequest"
    },
    "DeleteObjectRequest": {
      "description": "Deletes an object, either pages or\npage elements, from the\npresentation.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the page or page element to delete.\n\nIf after a delete operation a group contains\nonly 1 or no page elements, the group is also deleted.\n\nIf a placeholder is deleted on a layout, any empty inheriting shapes are\nalso deleted.",
          "type": "string"
        }
      },
      "id": "DeleteObjectRequest"
    },
    "CreateImageResponse": {
      "description": "The result of creating an image.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the created image.",
          "type": "string"
        }
      },
      "id": "CreateImageResponse"
    },
    "Recolor": {
      "description": "A recolor effect applied on an image.",
      "type": "object",
      "properties": {
        "recolorStops": {
          "description": "The recolor effect is represented by a gradient, which is a list of color\nstops. This property is read-only.",
          "type": "array",
          "items": {
            "$ref": "ColorStop"
          }
        }
      },
      "id": "Recolor"
    },
    "TextStyle": {
      "description": "Represents the styling that can be applied to a TextRun.\n\nIf this text is contained in a shape with a parent placeholder, then these text styles may be\ninherited from the parent. Which text styles are inherited depend on the\nnesting level of lists:\n\n* A text run in a paragraph that is not in a list will inherit its text style\n  from the the newline character in the paragraph at the 0 nesting level of\n  the list inside the parent placeholder.\n* A text run in a paragraph that is in a list will inherit its text style\n  from the newline character in the paragraph at its corresponding nesting\n  level of the list inside the parent placeholder.\n\nInherited text styles are represented as unset fields in this message. If\ntext is contained in a shape without a parent placeholder, unsetting these\nfields will revert the style to a value matching the defaults in the Slides\neditor.",
      "type": "object",
      "properties": {
        "bold": {
          "description": "Whether or not the text is bold.",
          "type": "boolean"
        },
        "italic": {
          "description": "Whether or not the text is italicized.",
          "type": "boolean"
        },
        "baselineOffset": {
          "description": "The text's vertical offset from its normal position.\n\nText with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically\nrendered in a smaller font size, computed based on the `font_size` field.\nThe `font_size` itself is not affected by changes in this field.",
          "enum": [
            "BASELINE_OFFSET_UNSPECIFIED",
            "NONE",
            "SUPERSCRIPT",
            "SUBSCRIPT"
          ],
          "enumDescriptions": [
            "The text's baseline offset is inherited from the parent.",
            "The text is not vertically offset.",
            "The text is vertically offset upwards (superscript).",
            "The text is vertically offset downwards (subscript)."
          ],
          "type": "string"
        },
        "foregroundColor": {
          "description": "The color of the text itself. If set, the color is either opaque or\ntransparent, depending on if the `opaque_color` field in it is set.",
          "$ref": "OptionalColor"
        },
        "fontFamily": {
          "description": "The font family of the text.\n\nThe font family can be any font from the Font menu in Slides or from\n[Google Fonts] (https://fonts.google.com/). If the font name is\nunrecognized, the text is rendered in `Arial`.\n\nSome fonts can affect the weight of the text. If an update request\nspecifies values for both `font_family` and `bold`, the explicitly-set\n`bold` value is used.",
          "type": "string"
        },
        "strikethrough": {
          "description": "Whether or not the text is struck through.",
          "type": "boolean"
        },
        "link": {
          "description": "The hyperlink destination of the text. If unset, there is no link. Links\nare not inherited from parent text.\n\nChanging the link in an update request causes some other changes to the\ntext style of the range:\n\n* When setting a link, the text foreground color will be set to\n  ThemeColorType.HYPERLINK and the text will\n  be underlined. If these fields are modified in the same\n  request, those values will be used instead of the link defaults.\n* Setting a link on a text range that overlaps with an existing link will\n  also update the existing link to point to the new URL.\n* Links are not settable on newline characters. As a result, setting a link\n  on a text range that crosses a paragraph boundary, such as `\"ABC\\n123\"`,\n  will separate the newline character(s) into their own text runs. The\n  link will be applied separately to the runs before and after the newline.\n* Removing a link will update the text style of the range to match the\n  style of the preceding text (or the default text styles if the preceding\n  text is another link) unless different styles are being set in the same\n  request.",
          "$ref": "Link"
        },
        "smallCaps": {
          "description": "Whether or not the text is in small capital letters.",
          "type": "boolean"
        },
        "backgroundColor": {
          "description": "The background color of the text. If set, the color is either opaque or\ntransparent, depending on if the `opaque_color` field in it is set.",
          "$ref": "OptionalColor"
        },
        "fontSize": {
          "description": "The size of the text's font. When read, the `font_size` will specified in\npoints.",
          "$ref": "Dimension"
        },
        "underline": {
          "description": "Whether or not the text is underlined.",
          "type": "boolean"
        }
      },
      "id": "TextStyle"
    },
    "UpdateLinePropertiesRequest": {
      "description": "Updates the properties of a Line.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the line the update is applied to.",
          "type": "string"
        },
        "lineProperties": {
          "description": "The line properties to update.",
          "$ref": "LineProperties"
        },
        "fields": {
          "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `lineProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the line solid fill color, set `fields` to\n`\"lineFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.",
          "type": "string",
          "format": "google-fieldmask"
        }
      },
      "id": "UpdateLinePropertiesRequest"
    },
    "TableCellBackgroundFill": {
      "description": "The table cell background fill.",
      "type": "object",
      "properties": {
        "propertyState": {
          "description": "The background fill property state.\n\nUpdating the the fill on a table cell will implicitly update this field\nto `RENDERED`, unless another value is specified in the same request. To\nhave no fill on a table cell, set this field to `NOT_RENDERED`. In this\ncase, any other fill fields set in the same request will be ignored.",
          "enum": [
            "RENDERED",
            "NOT_RENDERED",
            "INHERIT"
          ],
          "enumDescriptions": [
            "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.",
            "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.",
            "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state."
          ],
          "type": "string"
        },
        "solidFill": {
          "description": "Solid color fill.",
          "$ref": "SolidFill"
        }
      },
      "id": "TableCellBackgroundFill"
    },
    "SolidFill": {
      "description": "A solid color fill. The page or page element is filled entirely with the\nspecified color value.\n\nIf any field is unset, its value may be inherited from a parent placeholder\nif it exists.",
      "type": "object",
      "properties": {
        "color": {
          "description": "The color value of the solid fill.",
          "$ref": "OpaqueColor"
        },
        "alpha": {
          "description": "The fraction of this `color` that should be applied to the pixel.\nThat is, the final pixel color is defined by the equation:\n\n  pixel color = alpha * (color) + (1.0 - alpha) * (background color)\n\nThis means that a value of 1.0 corresponds to a solid color, whereas\na value of 0.0 corresponds to a completely transparent color.",
          "type": "number",
          "format": "float"
        }
      },
      "id": "SolidFill"
    },
    "DuplicateObjectRequest": {
      "description": "Duplicates a slide or page element.\n\nWhen duplicating a slide, the duplicate slide will be created immediately\nfollowing the specified slide. When duplicating a page element, the duplicate\nwill be placed on the same page at the same position as the original.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The ID of the object to duplicate.",
          "type": "string"
        },
        "objectIds": {
          "description": "The object being duplicated may contain other objects, for example when\nduplicating a slide or a group page element. This map defines how the IDs\nof duplicated objects are generated: the keys are the IDs of the original\nobjects and its values are the IDs that will be assigned to the\ncorresponding duplicate object. The ID of the source object's duplicate\nmay be specified in this map as well, using the same value of the\n`object_id` field as a key and the newly desired ID as the value.\n\nAll keys must correspond to existing IDs in the presentation. All values\nmust be unique in the presentation and must start with an alphanumeric\ncharacter or an underscore (matches regex `[a-zA-Z0-9_]`); remaining\ncharacters may include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`). The length of the new ID must not be less than 5 or\ngreater than 50.\n\nIf any IDs of source objects are omitted from the map, a new random ID will\nbe assigned. If the map is empty or unset, all duplicate objects will\nreceive a new random ID.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        }
      },
      "id": "DuplicateObjectRequest"
    },
    "SheetsChart": {
      "description": "A PageElement kind representing\na linked chart embedded from Google Sheets.",
      "type": "object",
      "properties": {
        "chartId": {
          "description": "The ID of the specific chart in the Google Sheets spreadsheet that is\nembedded.",
          "type": "integer",
          "format": "int32"
        },
        "spreadsheetId": {
          "description": "The ID of the Google Sheets spreadsheet that contains the source chart.",
          "type": "string"
        },
        "sheetsChartProperties": {
          "description": "The properties of the Sheets chart.",
          "$ref": "SheetsChartProperties"
        },
        "contentUrl": {
          "description": "The URL of an image of the embedded chart, with a default lifetime of 30\nminutes. This URL is tagged with the account of the requester. Anyone with\nthe URL effectively accesses the image as the original requester. Access to\nthe image may be lost if the presentation's sharing settings change.",
          "type": "string"
        }
      },
      "id": "SheetsChart"
    },
    "PageProperties": {
      "description": "The properties of the Page.\n\nThe page will inherit properties from the parent page. Depending on the page\ntype the hierarchy is defined in either\nSlideProperties or\nLayoutProperties.",
      "type": "object",
      "properties": {
        "pageBackgroundFill": {
          "description": "The background fill of the page. If unset, the background fill is inherited\nfrom a parent page if it exists. If the page has no parent, then the\nbackground fill defaults to the corresponding fill in the Slides editor.",
          "$ref": "PageBackgroundFill"
        },
        "colorScheme": {
          "description": "The color scheme of the page. If unset, the color scheme is inherited from\na parent page. If the page has no parent, the color scheme uses a default\nSlides color scheme. This field is read-only.",
          "$ref": "ColorScheme"
        }
      },
      "id": "PageProperties"
    },
    "Shadow": {
      "description": "The shadow properties of a page element.\n\nIf these fields are unset, they may be inherited from a parent placeholder\nif it exists. If there is no parent, the fields will default to the value\nused for new page elements created in the Slides editor, which may depend on\nthe page element kind.",
      "type": "object",
      "properties": {
        "alignment": {
          "description": "The alignment point of the shadow, that sets the origin for translate,\nscale and skew of the shadow.",
          "enum": [
            "RECTANGLE_POSITION_UNSPECIFIED",
            "TOP_LEFT",
            "TOP_CENTER",
            "TOP_RIGHT",
            "LEFT_CENTER",
            "CENTER",
            "RIGHT_CENTER",
            "BOTTOM_LEFT",
            "BOTTOM_CENTER",
            "BOTTOM_RIGHT"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "Top left.",
            "Top center.",
            "Top right.",
            "Left center.",
            "Center.",
            "Right center.",
            "Bottom left.",
            "Bottom center.",
            "Bottom right."
          ],
          "type": "string"
        },
        "rotateWithShape": {
          "description": "Whether the shadow should rotate with the shape.",
          "type": "boolean"
        },
        "transform": {
          "description": "Transform that encodes the translate, scale, and skew of the shadow,\nrelative to the alignment position.",
          "$ref": "AffineTransform"
        },
        "color": {
          "description": "The shadow color value.",
          "$ref": "OpaqueColor"
        },
        "blurRadius": {
          "description": "The radius of the shadow blur. The larger the radius, the more diffuse the\nshadow becomes.",
          "$ref": "Dimension"
        },
        "propertyState": {
          "description": "The shadow property state.\n\nUpdating the the shadow on a page element will implicitly update this field\nto `RENDERED`, unless another value is specified in the same request. To\nhave no shadow on a page element, set this field to `NOT_RENDERED`. In this\ncase, any other shadow fields set in the same request will be ignored.",
          "enum": [
            "RENDERED",
            "NOT_RENDERED",
            "INHERIT"
          ],
          "enumDescriptions": [
            "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.",
            "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.",
            "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state."
          ],
          "type": "string"
        },
        "alpha": {
          "description": "The alpha of the shadow's color, from 0.0 to 1.0.",
          "type": "number",
          "format": "float"
        },
        "type": {
          "description": "The type of the shadow.",
          "enum": [
            "SHADOW_TYPE_UNSPECIFIED",
            "OUTER"
          ],
          "enumDescriptions": [
            "Unspecified shadow type.",
            "Outer shadow."
          ],
          "type": "string"
        }
      },
      "id": "Shadow"
    },
    "LayoutReference": {
      "description": "Slide layout reference. This may reference either:\n\n- A predefined layout\n- One of the layouts in the presentation.",
      "type": "object",
      "properties": {
        "predefinedLayout": {
          "description": "Predefined layout.",
          "enum": [
            "PREDEFINED_LAYOUT_UNSPECIFIED",
            "BLANK",
            "CAPTION_ONLY",
            "TITLE",
            "TITLE_AND_BODY",
            "TITLE_AND_TWO_COLUMNS",
            "TITLE_ONLY",
            "SECTION_HEADER",
            "SECTION_TITLE_AND_DESCRIPTION",
            "ONE_COLUMN_TEXT",
            "MAIN_POINT",
            "BIG_NUMBER"
          ],
          "enumDescriptions": [
            "Unspecified layout.",
            "Blank layout, with no placeholders.",
            "Layout with a caption at the bottom.",
            "Layout with a title and a subtitle.",
            "Layout with a title and body.",
            "Layout with a title and two columns.",
            "Layout with only a title.",
            "Layout with a section title.",
            "Layout with a title and subtitle on one side and description on the other.",
            "Layout with one title and one body, arranged in a single column.",
            "Layout with a main point.",
            "Layout with a big number heading."
          ],
          "type": "string"
        },
        "layoutId": {
          "description": "Layout ID: the object ID of one of the layouts in the presentation.",
          "type": "string"
        }
      },
      "id": "LayoutReference"
    },
    "CreateSheetsChartResponse": {
      "description": "The result of creating an embedded Google Sheets chart.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the created chart.",
          "type": "string"
        }
      },
      "id": "CreateSheetsChartResponse"
    },
    "ReplaceAllTextResponse": {
      "description": "The result of replacing text.",
      "type": "object",
      "properties": {
        "occurrencesChanged": {
          "description": "The number of occurrences changed by replacing all text.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "ReplaceAllTextResponse"
    },
    "LayoutProperties": {
      "description": "The properties of Page are only\nrelevant for pages with page_type LAYOUT.",
      "type": "object",
      "properties": {
        "displayName": {
          "description": "The human readable name of the layout in the presentation's locale.",
          "type": "string"
        },
        "masterObjectId": {
          "description": "The object ID of the master that this layout is based on.",
          "type": "string"
        },
        "name": {
          "description": "The name of the layout.",
          "type": "string"
        }
      },
      "id": "LayoutProperties"
    },
    "InsertTableColumnsRequest": {
      "description": "Inserts columns into a table.\n\nOther columns in the table will be resized to fit the new column.",
      "type": "object",
      "properties": {
        "tableObjectId": {
          "description": "The table to insert columns into.",
          "type": "string"
        },
        "insertRight": {
          "description": "Whether to insert new columns to the right of the reference cell location.\n\n- `True`: insert to the right.\n- `False`: insert to the left.",
          "type": "boolean"
        },
        "cellLocation": {
          "description": "The reference table cell location from which columns will be inserted.\n\nA new column will be inserted to the left (or right) of the column where\nthe reference cell is. If the reference cell is a merged cell, a new\ncolumn will be inserted to the left (or right) of the merged cell.",
          "$ref": "TableCellLocation"
        },
        "number": {
          "description": "The number of columns to be inserted. Maximum 20 per request.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "InsertTableColumnsRequest"
    },
    "DeleteTableColumnRequest": {
      "description": "Deletes a column from a table.",
      "type": "object",
      "properties": {
        "tableObjectId": {
          "description": "The table to delete columns from.",
          "type": "string"
        },
        "cellLocation": {
          "description": "The reference table cell location from which a column will be deleted.\n\nThe column this cell spans will be deleted. If this is a merged cell,\nmultiple columns will be deleted. If no columns remain in the table after\nthis deletion, the whole table is deleted.",
          "$ref": "TableCellLocation"
        }
      },
      "id": "DeleteTableColumnRequest"
    },
    "TableRow": {
      "description": "Properties and contents of each row in a table.",
      "type": "object",
      "properties": {
        "rowHeight": {
          "description": "Height of a row.",
          "$ref": "Dimension"
        },
        "tableCells": {
          "description": "Properties and contents of each cell.\n\nCells that span multiple columns are represented only once with a\ncolumn_span greater\nthan 1. As a result, the length of this collection does not always match\nthe number of columns of the entire table.",
          "type": "array",
          "items": {
            "$ref": "TableCell"
          }
        }
      },
      "id": "TableRow"
    },
    "AffineTransform": {
      "description": "AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ]\nto transform source coordinates (x,y) into destination coordinates (x', y')\naccording to:\n\n      x'  x  =   shear_y  scale_y  translate_y  \n      1  [ 1 ]\n\nAfter transformation,\n\n     x' = scale_x * x + shear_x * y + translate_x;\n     y' = scale_y * y + shear_y * x + translate_y;\n\nThis message is therefore composed of these six matrix elements.",
      "type": "object",
      "properties": {
        "unit": {
          "description": "The units for translate elements.",
          "enum": [
            "UNIT_UNSPECIFIED",
            "EMU",
            "PT"
          ],
          "enumDescriptions": [
            "The units are unknown.",
            "An English Metric Unit (EMU) is defined as 1/360,000 of a centimeter\nand thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.",
            "A point, 1/72 of an inch."
          ],
          "type": "string"
        },
        "shearY": {
          "description": "The Y coordinate shearing element.",
          "type": "number",
          "format": "double"
        },
        "translateX": {
          "description": "The X coordinate translation element.",
          "type": "number",
          "format": "double"
        },
        "shearX": {
          "description": "The X coordinate shearing element.",
          "type": "number",
          "format": "double"
        },
        "scaleY": {
          "description": "The Y coordinate scaling element.",
          "type": "number",
          "format": "double"
        },
        "scaleX": {
          "description": "The X coordinate scaling element.",
          "type": "number",
          "format": "double"
        },
        "translateY": {
          "description": "The Y coordinate translation element.",
          "type": "number",
          "format": "double"
        }
      },
      "id": "AffineTransform"
    },
    "CreateShapeRequest": {
      "description": "Creates a new shape.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\nIf empty, a unique identifier will be generated.",
          "type": "string"
        },
        "shapeType": {
          "description": "The shape type.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "TEXT_BOX",
            "RECTANGLE",
            "ROUND_RECTANGLE",
            "ELLIPSE",
            "ARC",
            "BENT_ARROW",
            "BENT_UP_ARROW",
            "BEVEL",
            "BLOCK_ARC",
            "BRACE_PAIR",
            "BRACKET_PAIR",
            "CAN",
            "CHEVRON",
            "CHORD",
            "CLOUD",
            "CORNER",
            "CUBE",
            "CURVED_DOWN_ARROW",
            "CURVED_LEFT_ARROW",
            "CURVED_RIGHT_ARROW",
            "CURVED_UP_ARROW",
            "DECAGON",
            "DIAGONAL_STRIPE",
            "DIAMOND",
            "DODECAGON",
            "DONUT",
            "DOUBLE_WAVE",
            "DOWN_ARROW",
            "DOWN_ARROW_CALLOUT",
            "FOLDED_CORNER",
            "FRAME",
            "HALF_FRAME",
            "HEART",
            "HEPTAGON",
            "HEXAGON",
            "HOME_PLATE",
            "HORIZONTAL_SCROLL",
            "IRREGULAR_SEAL_1",
            "IRREGULAR_SEAL_2",
            "LEFT_ARROW",
            "LEFT_ARROW_CALLOUT",
            "LEFT_BRACE",
            "LEFT_BRACKET",
            "LEFT_RIGHT_ARROW",
            "LEFT_RIGHT_ARROW_CALLOUT",
            "LEFT_RIGHT_UP_ARROW",
            "LEFT_UP_ARROW",
            "LIGHTNING_BOLT",
            "MATH_DIVIDE",
            "MATH_EQUAL",
            "MATH_MINUS",
            "MATH_MULTIPLY",
            "MATH_NOT_EQUAL",
            "MATH_PLUS",
            "MOON",
            "NO_SMOKING",
            "NOTCHED_RIGHT_ARROW",
            "OCTAGON",
            "PARALLELOGRAM",
            "PENTAGON",
            "PIE",
            "PLAQUE",
            "PLUS",
            "QUAD_ARROW",
            "QUAD_ARROW_CALLOUT",
            "RIBBON",
            "RIBBON_2",
            "RIGHT_ARROW",
            "RIGHT_ARROW_CALLOUT",
            "RIGHT_BRACE",
            "RIGHT_BRACKET",
            "ROUND_1_RECTANGLE",
            "ROUND_2_DIAGONAL_RECTANGLE",
            "ROUND_2_SAME_RECTANGLE",
            "RIGHT_TRIANGLE",
            "SMILEY_FACE",
            "SNIP_1_RECTANGLE",
            "SNIP_2_DIAGONAL_RECTANGLE",
            "SNIP_2_SAME_RECTANGLE",
            "SNIP_ROUND_RECTANGLE",
            "STAR_10",
            "STAR_12",
            "STAR_16",
            "STAR_24",
            "STAR_32",
            "STAR_4",
            "STAR_5",
            "STAR_6",
            "STAR_7",
            "STAR_8",
            "STRIPED_RIGHT_ARROW",
            "SUN",
            "TRAPEZOID",
            "TRIANGLE",
            "UP_ARROW",
            "UP_ARROW_CALLOUT",
            "UP_DOWN_ARROW",
            "UTURN_ARROW",
            "VERTICAL_SCROLL",
            "WAVE",
            "WEDGE_ELLIPSE_CALLOUT",
            "WEDGE_RECTANGLE_CALLOUT",
            "WEDGE_ROUND_RECTANGLE_CALLOUT",
            "FLOW_CHART_ALTERNATE_PROCESS",
            "FLOW_CHART_COLLATE",
            "FLOW_CHART_CONNECTOR",
            "FLOW_CHART_DECISION",
            "FLOW_CHART_DELAY",
            "FLOW_CHART_DISPLAY",
            "FLOW_CHART_DOCUMENT",
            "FLOW_CHART_EXTRACT",
            "FLOW_CHART_INPUT_OUTPUT",
            "FLOW_CHART_INTERNAL_STORAGE",
            "FLOW_CHART_MAGNETIC_DISK",
            "FLOW_CHART_MAGNETIC_DRUM",
            "FLOW_CHART_MAGNETIC_TAPE",
            "FLOW_CHART_MANUAL_INPUT",
            "FLOW_CHART_MANUAL_OPERATION",
            "FLOW_CHART_MERGE",
            "FLOW_CHART_MULTIDOCUMENT",
            "FLOW_CHART_OFFLINE_STORAGE",
            "FLOW_CHART_OFFPAGE_CONNECTOR",
            "FLOW_CHART_ONLINE_STORAGE",
            "FLOW_CHART_OR",
            "FLOW_CHART_PREDEFINED_PROCESS",
            "FLOW_CHART_PREPARATION",
            "FLOW_CHART_PROCESS",
            "FLOW_CHART_PUNCHED_CARD",
            "FLOW_CHART_PUNCHED_TAPE",
            "FLOW_CHART_SORT",
            "FLOW_CHART_SUMMING_JUNCTION",
            "FLOW_CHART_TERMINATOR",
            "ARROW_EAST",
            "ARROW_NORTH_EAST",
            "ARROW_NORTH",
            "SPEECH",
            "STARBURST",
            "TEARDROP",
            "ELLIPSE_RIBBON",
            "ELLIPSE_RIBBON_2",
            "CLOUD_CALLOUT",
            "CUSTOM"
          ],
          "enumDescriptions": [
            "The shape type that is not predefined.",
            "Text box shape.",
            "Rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'rect'.",
            "Round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'roundRect'",
            "Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'",
            "Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'",
            "Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentArrow'",
            "Bent up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentUpArrow'",
            "Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'",
            "Block arc shape. Corresponds to ECMA-376 ST_ShapeType 'blockArc'",
            "Brace pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracePair'",
            "Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracketPair'",
            "Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'",
            "Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'",
            "Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'",
            "Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'",
            "Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'",
            "Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'",
            "Curved down arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedDownArrow'",
            "Curved left arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedLeftArrow'",
            "Curved right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedRightArrow'",
            "Curved up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedUpArrow'",
            "Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'",
            "Diagonal stripe shape. Corresponds to ECMA-376 ST_ShapeType 'diagStripe'",
            "Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'",
            "Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType 'dodecagon'",
            "Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'",
            "Double wave shape. Corresponds to ECMA-376 ST_ShapeType 'doubleWave'",
            "Down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'downArrow'",
            "Callout down arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'downArrowCallout'",
            "Folded corner shape. Corresponds to ECMA-376 ST_ShapeType 'foldedCorner'",
            "Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'",
            "Half frame shape. Corresponds to ECMA-376 ST_ShapeType 'halfFrame'",
            "Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'",
            "Heptagon shape. Corresponds to ECMA-376 ST_ShapeType 'heptagon'",
            "Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'",
            "Home plate shape. Corresponds to ECMA-376 ST_ShapeType 'homePlate'",
            "Horizontal scroll shape. Corresponds to ECMA-376 ST_ShapeType\n'horizontalScroll'",
            "Irregular seal 1 shape. Corresponds to ECMA-376 ST_ShapeType\n'irregularSeal1'",
            "Irregular seal 2 shape. Corresponds to ECMA-376 ST_ShapeType\n'irregularSeal2'",
            "Left arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftArrow'",
            "Callout left arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftArrowCallout'",
            "Left brace shape. Corresponds to ECMA-376 ST_ShapeType 'leftBrace'",
            "Left bracket shape. Corresponds to ECMA-376 ST_ShapeType 'leftBracket'",
            "Left right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightArrow'",
            "Callout left right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightArrowCallout'",
            "Left right up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightUpArrow'",
            "Left up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftUpArrow'",
            "Lightning bolt shape. Corresponds to ECMA-376 ST_ShapeType\n'lightningBolt'",
            "Divide math shape. Corresponds to ECMA-376 ST_ShapeType 'mathDivide'",
            "Equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathEqual'",
            "Minus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMinus'",
            "Multiply math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMultiply'",
            "Not equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathNotEqual'",
            "Plus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathPlus'",
            "Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'",
            "No smoking shape. Corresponds to ECMA-376 ST_ShapeType 'noSmoking'",
            "Notched right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'notchedRightArrow'",
            "Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'",
            "Parallelogram shape. Corresponds to ECMA-376 ST_ShapeType 'parallelogram'",
            "Pentagon shape. Corresponds to ECMA-376 ST_ShapeType 'pentagon'",
            "Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'",
            "Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'",
            "Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'",
            "Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType 'quadArrow'",
            "Callout quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'quadArrowCallout'",
            "Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'",
            "Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon2'",
            "Right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'rightArrow'",
            "Callout right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'rightArrowCallout'",
            "Right brace shape. Corresponds to ECMA-376 ST_ShapeType 'rightBrace'",
            "Right bracket shape. Corresponds to ECMA-376 ST_ShapeType 'rightBracket'",
            "One round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'round1Rect'",
            "Two diagonal round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'round2DiagRect'",
            "Two same-side round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'round2SameRect'",
            "Right triangle shape. Corresponds to ECMA-376 ST_ShapeType 'rtTriangle'",
            "Smiley face shape. Corresponds to ECMA-376 ST_ShapeType 'smileyFace'",
            "One snip corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'snip1Rect'",
            "Two diagonal snip corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snip2DiagRect'",
            "Two same-side snip corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snip2SameRect'",
            "One snip one round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snipRoundRect'",
            "Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star10'",
            "Twelve pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star12'",
            "Sixteen pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star16'",
            "Twenty four pointed star shape. Corresponds to ECMA-376 ST_ShapeType\n'star24'",
            "Thirty two pointed star shape. Corresponds to ECMA-376 ST_ShapeType\n'star32'",
            "Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star4'",
            "Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star5'",
            "Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star6'",
            "Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star7'",
            "Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star8'",
            "Striped right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'stripedRightArrow'",
            "Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'",
            "Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType 'trapezoid'",
            "Triangle shape. Corresponds to ECMA-376 ST_ShapeType 'triangle'",
            "Up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upArrow'",
            "Callout up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'upArrowCallout'",
            "Up down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upDownArrow'",
            "U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType 'uturnArrow'",
            "Vertical scroll shape. Corresponds to ECMA-376 ST_ShapeType\n'verticalScroll'",
            "Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'",
            "Callout wedge ellipse shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeEllipseCallout'",
            "Callout wedge rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeRectCallout'",
            "Callout wedge round rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeRoundRectCallout'",
            "Alternate process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartAlternateProcess'",
            "Collate flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartCollate'",
            "Connector flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartConnector'",
            "Decision flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDecision'",
            "Delay flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDelay'",
            "Display flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDisplay'",
            "Document flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDocument'",
            "Extract flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartExtract'",
            "Input output flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartInputOutput'",
            "Internal storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartInternalStorage'",
            "Magnetic disk flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticDisk'",
            "Magnetic drum flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticDrum'",
            "Magnetic tape flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticTape'",
            "Manual input flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartManualInput'",
            "Manual operation flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartManualOperation'",
            "Merge flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMerge'",
            "Multi-document flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMultidocument'",
            "Offline storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOfflineStorage'",
            "Off-page connector flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOffpageConnector'",
            "Online storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOnlineStorage'",
            "Or flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOr'",
            "Predefined process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPredefinedProcess'",
            "Preparation flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPreparation'",
            "Process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartProcess'",
            "Punched card flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPunchedCard'",
            "Punched tape flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPunchedTape'",
            "Sort flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartSort'",
            "Summing junction flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartSummingJunction'",
            "Terminator flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartTerminator'",
            "East arrow shape.",
            "Northeast arrow shape.",
            "North arrow shape.",
            "Speech shape.",
            "Star burst shape.",
            "Teardrop shape. Corresponds to ECMA-376 ST_ShapeType 'teardrop'",
            "Ellipse ribbon shape. Corresponds to ECMA-376 ST_ShapeType\n'ellipseRibbon'",
            "Ellipse ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType\n'ellipseRibbon2'",
            "Callout cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloudCallout'",
            "Custom shape."
          ],
          "type": "string"
        },
        "elementProperties": {
          "description": "The element properties for the shape.",
          "$ref": "PageElementProperties"
        }
      },
      "id": "CreateShapeRequest"
    },
    "ShapeBackgroundFill": {
      "description": "The shape background fill.",
      "type": "object",
      "properties": {
        "propertyState": {
          "description": "The background fill property state.\n\nUpdating the the fill on a shape will implicitly update this field to\n`RENDERED`, unless another value is specified in the same request. To\nhave no fill on a shape, set this field to `NOT_RENDERED`. In this case,\nany other fill fields set in the same request will be ignored.",
          "enum": [
            "RENDERED",
            "NOT_RENDERED",
            "INHERIT"
          ],
          "enumDescriptions": [
            "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.",
            "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.",
            "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state."
          ],
          "type": "string"
        },
        "solidFill": {
          "description": "Solid color fill.",
          "$ref": "SolidFill"
        }
      },
      "id": "ShapeBackgroundFill"
    },
    "Line": {
      "description": "A PageElement kind representing a\nline, curved connector, or bent connector.",
      "type": "object",
      "properties": {
        "lineProperties": {
          "description": "The properties of the line.",
          "$ref": "LineProperties"
        },
        "lineType": {
          "description": "The type of the line.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "STRAIGHT_CONNECTOR_1",
            "BENT_CONNECTOR_2",
            "BENT_CONNECTOR_3",
            "BENT_CONNECTOR_4",
            "BENT_CONNECTOR_5",
            "CURVED_CONNECTOR_2",
            "CURVED_CONNECTOR_3",
            "CURVED_CONNECTOR_4",
            "CURVED_CONNECTOR_5"
          ],
          "enumDescriptions": [
            "An unspecified line type.",
            "Straight connector 1 form. Corresponds to ECMA-376 ST_ShapeType\n'straightConnector1'.",
            "Bent connector 2 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector2'.",
            "Bent connector 3 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector3'.",
            "Bent connector 4 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector4'.",
            "Bent connector 5 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector5'.",
            "Curved connector 2 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector2'.",
            "Curved connector 3 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector3'.",
            "Curved connector 4 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector4'.",
            "Curved connector 5 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector5'."
          ],
          "type": "string"
        }
      },
      "id": "Line"
    },
    "SheetsChartProperties": {
      "description": "The properties of the SheetsChart.",
      "type": "object",
      "properties": {
        "chartImageProperties": {
          "description": "The properties of the embedded chart image.",
          "$ref": "ImageProperties"
        }
      },
      "id": "SheetsChartProperties"
    },
    "AutoText": {
      "description": "A TextElement kind that represents auto text.",
      "type": "object",
      "properties": {
        "style": {
          "description": "The styling applied to this auto text.",
          "$ref": "TextStyle"
        },
        "type": {
          "description": "The type of this auto text.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "SLIDE_NUMBER"
          ],
          "enumDescriptions": [
            "An unspecified autotext type.",
            "Type for autotext that represents the current slide number."
          ],
          "type": "string"
        },
        "content": {
          "description": "The rendered content of this auto text, if available.",
          "type": "string"
        }
      },
      "id": "AutoText"
    },
    "TextElement": {
      "description": "A TextElement describes the content of a range of indices in the text content\nof a Shape or TableCell.",
      "type": "object",
      "properties": {
        "endIndex": {
          "description": "The zero-based end index of this text element, exclusive, in Unicode code\nunits.",
          "type": "integer",
          "format": "int32"
        },
        "textRun": {
          "description": "A TextElement representing a run of text where all of the characters\nin the run have the same TextStyle.\n\nThe `start_index` and `end_index` of TextRuns will always be fully\ncontained in the index range of a single `paragraph_marker` TextElement.\nIn other words, a TextRun will never span multiple paragraphs.",
          "$ref": "TextRun"
        },
        "startIndex": {
          "description": "The zero-based start index of this text element, in Unicode code units.",
          "type": "integer",
          "format": "int32"
        },
        "paragraphMarker": {
          "description": "A marker representing the beginning of a new paragraph.\n\nThe `start_index` and `end_index` of this TextElement represent the\nrange of the paragraph. Other TextElements with an index range contained\ninside this paragraph's range are considered to be part of this\nparagraph. The range of indices of two separate paragraphs will never\noverlap.",
          "$ref": "ParagraphMarker"
        },
        "autoText": {
          "description": "A TextElement representing a spot in the text that is dynamically\nreplaced with content that can change over time.",
          "$ref": "AutoText"
        }
      },
      "id": "TextElement"
    },
    "UpdateSlidesPositionRequest": {
      "description": "Updates the position of slides in the presentation.",
      "type": "object",
      "properties": {
        "insertionIndex": {
          "description": "The index where the slides should be inserted, based on the slide\narrangement before the move takes place. Must be between zero and the\nnumber of slides in the presentation, inclusive.",
          "type": "integer",
          "format": "int32"
        },
        "slideObjectIds": {
          "description": "The IDs of the slides in the presentation that should be moved.\nThe slides in this list must be in existing presentation order, without\nduplicates.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "UpdateSlidesPositionRequest"
    },
    "ReplaceAllTextRequest": {
      "description": "Replaces all instances of text matching a criteria with replace text.",
      "type": "object",
      "properties": {
        "containsText": {
          "description": "Finds text in a shape matching this substring.",
          "$ref": "SubstringMatchCriteria"
        },
        "replaceText": {
          "description": "The text that will replace the matched text.",
          "type": "string"
        }
      },
      "id": "ReplaceAllTextRequest"
    },
    "ShapeProperties": {
      "description": "The properties of a Shape.\n\nIf the shape is a placeholder shape as determined by the\nplaceholder field, then these\nproperties may be inherited from a parent placeholder shape.\nDetermining the rendered value of the property depends on the corresponding\nproperty_state field value.",
      "type": "object",
      "properties": {
        "outline": {
          "description": "The outline of the shape. If unset, the outline is inherited from a\nparent placeholder if it exists. If the shape has no parent, then the\ndefault outline depends on the shape type, matching the defaults for\nnew shapes created in the Slides editor.",
          "$ref": "Outline"
        },
        "link": {
          "description": "The hyperlink destination of the shape. If unset, there is no link. Links\nare not inherited from parent placeholders.",
          "$ref": "Link"
        },
        "shapeBackgroundFill": {
          "description": "The background fill of the shape. If unset, the background fill is\ninherited from a parent placeholder if it exists. If the shape has no\nparent, then the default background fill depends on the shape type,\nmatching the defaults for new shapes created in the Slides editor.",
          "$ref": "ShapeBackgroundFill"
        },
        "shadow": {
          "description": "The shadow properties of the shape. If unset, the shadow is inherited from\na parent placeholder if it exists. If the shape has no parent, then the\ndefault shadow matches the defaults for new shapes created in the Slides\neditor. This property is read-only.",
          "$ref": "Shadow"
        }
      },
      "id": "ShapeProperties"
    },
    "CreateLineRequest": {
      "description": "Creates a line.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.",
          "type": "string"
        },
        "elementProperties": {
          "description": "The element properties for the line.",
          "$ref": "PageElementProperties"
        },
        "lineCategory": {
          "description": "The category of line to be created.",
          "enum": [
            "STRAIGHT",
            "BENT",
            "CURVED"
          ],
          "enumDescriptions": [
            "Straight connectors, including straight connector 1. The is the default\ncategory when one is not specified.",
            "Bent connectors, including bent connector 2 to 5.",
            "Curved connectors, including curved connector 2 to 5."
          ],
          "type": "string"
        }
      },
      "id": "CreateLineRequest"
    },
    "CreateShapeResponse": {
      "description": "The result of creating a shape.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the created shape.",
          "type": "string"
        }
      },
      "id": "CreateShapeResponse"
    },
    "CreateSlideResponse": {
      "description": "The result of creating a slide.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the created slide.",
          "type": "string"
        }
      },
      "id": "CreateSlideResponse"
    },
    "UpdateImagePropertiesRequest": {
      "description": "Update the properties of an Image.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the image the updates are applied to.",
          "type": "string"
        },
        "fields": {
          "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `imageProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the image outline color, set `fields` to\n`\"outline.outlineFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.",
          "type": "string",
          "format": "google-fieldmask"
        },
        "imageProperties": {
          "description": "The image properties to update.",
          "$ref": "ImageProperties"
        }
      },
      "id": "UpdateImagePropertiesRequest"
    },
    "CreateVideoRequest": {
      "description": "Creates a video.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.",
          "type": "string"
        },
        "source": {
          "description": "The video source.",
          "enum": [
            "SOURCE_UNSPECIFIED",
            "YOUTUBE"
          ],
          "enumDescriptions": [
            "The video source is unspecified.",
            "The video source is YouTube."
          ],
          "type": "string"
        },
        "elementProperties": {
          "description": "The element properties for the video.",
          "$ref": "PageElementProperties"
        },
        "id": {
          "description": "The video source's unique identifier for this video.\n\ne.g. For YouTube video https://www.youtube.com/watch?v=7U3axjORYZ0,\nthe ID is 7U3axjORYZ0.",
          "type": "string"
        }
      },
      "id": "CreateVideoRequest"
    },
    "CreateTableRequest": {
      "description": "Creates a new table.",
      "type": "object",
      "properties": {
        "columns": {
          "description": "Number of columns in the table.",
          "type": "integer",
          "format": "int32"
        },
        "objectId": {
          "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.",
          "type": "string"
        },
        "rows": {
          "description": "Number of rows in the table.",
          "type": "integer",
          "format": "int32"
        },
        "elementProperties": {
          "description": "The element properties for the table.\n\nThe table will be created at the provided size, subject to a minimum size.\nIf no size is provided, the table will be automatically sized.\n\nTable transforms must have a scale of 1 and no shear components. If no\ntransform is provided, the table will be centered on the page.",
          "$ref": "PageElementProperties"
        }
      },
      "id": "CreateTableRequest"
    },
    "OptionalColor": {
      "description": "A color that can either be fully opaque or fully transparent.",
      "type": "object",
      "properties": {
        "opaqueColor": {
          "description": "If set, this will be used as an opaque color. If unset, this represents\na transparent color.",
          "$ref": "OpaqueColor"
        }
      },
      "id": "OptionalColor"
    },
    "TextRun": {
      "description": "A TextElement kind that represents a run of text that all has the same\nstyling.",
      "type": "object",
      "properties": {
        "style": {
          "description": "The styling applied to this run.",
          "$ref": "TextStyle"
        },
        "content": {
          "description": "The text of this run.",
          "type": "string"
        }
      },
      "id": "TextRun"
    },
    "Shape": {
      "description": "A PageElement kind representing a\ngeneric shape that does not have a more specific classification.",
      "type": "object",
      "properties": {
        "text": {
          "description": "The text content of the shape.",
          "$ref": "TextContent"
        },
        "shapeProperties": {
          "description": "The properties of the shape.",
          "$ref": "ShapeProperties"
        },
        "shapeType": {
          "description": "The type of the shape.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "TEXT_BOX",
            "RECTANGLE",
            "ROUND_RECTANGLE",
            "ELLIPSE",
            "ARC",
            "BENT_ARROW",
            "BENT_UP_ARROW",
            "BEVEL",
            "BLOCK_ARC",
            "BRACE_PAIR",
            "BRACKET_PAIR",
            "CAN",
            "CHEVRON",
            "CHORD",
            "CLOUD",
            "CORNER",
            "CUBE",
            "CURVED_DOWN_ARROW",
            "CURVED_LEFT_ARROW",
            "CURVED_RIGHT_ARROW",
            "CURVED_UP_ARROW",
            "DECAGON",
            "DIAGONAL_STRIPE",
            "DIAMOND",
            "DODECAGON",
            "DONUT",
            "DOUBLE_WAVE",
            "DOWN_ARROW",
            "DOWN_ARROW_CALLOUT",
            "FOLDED_CORNER",
            "FRAME",
            "HALF_FRAME",
            "HEART",
            "HEPTAGON",
            "HEXAGON",
            "HOME_PLATE",
            "HORIZONTAL_SCROLL",
            "IRREGULAR_SEAL_1",
            "IRREGULAR_SEAL_2",
            "LEFT_ARROW",
            "LEFT_ARROW_CALLOUT",
            "LEFT_BRACE",
            "LEFT_BRACKET",
            "LEFT_RIGHT_ARROW",
            "LEFT_RIGHT_ARROW_CALLOUT",
            "LEFT_RIGHT_UP_ARROW",
            "LEFT_UP_ARROW",
            "LIGHTNING_BOLT",
            "MATH_DIVIDE",
            "MATH_EQUAL",
            "MATH_MINUS",
            "MATH_MULTIPLY",
            "MATH_NOT_EQUAL",
            "MATH_PLUS",
            "MOON",
            "NO_SMOKING",
            "NOTCHED_RIGHT_ARROW",
            "OCTAGON",
            "PARALLELOGRAM",
            "PENTAGON",
            "PIE",
            "PLAQUE",
            "PLUS",
            "QUAD_ARROW",
            "QUAD_ARROW_CALLOUT",
            "RIBBON",
            "RIBBON_2",
            "RIGHT_ARROW",
            "RIGHT_ARROW_CALLOUT",
            "RIGHT_BRACE",
            "RIGHT_BRACKET",
            "ROUND_1_RECTANGLE",
            "ROUND_2_DIAGONAL_RECTANGLE",
            "ROUND_2_SAME_RECTANGLE",
            "RIGHT_TRIANGLE",
            "SMILEY_FACE",
            "SNIP_1_RECTANGLE",
            "SNIP_2_DIAGONAL_RECTANGLE",
            "SNIP_2_SAME_RECTANGLE",
            "SNIP_ROUND_RECTANGLE",
            "STAR_10",
            "STAR_12",
            "STAR_16",
            "STAR_24",
            "STAR_32",
            "STAR_4",
            "STAR_5",
            "STAR_6",
            "STAR_7",
            "STAR_8",
            "STRIPED_RIGHT_ARROW",
            "SUN",
            "TRAPEZOID",
            "TRIANGLE",
            "UP_ARROW",
            "UP_ARROW_CALLOUT",
            "UP_DOWN_ARROW",
            "UTURN_ARROW",
            "VERTICAL_SCROLL",
            "WAVE",
            "WEDGE_ELLIPSE_CALLOUT",
            "WEDGE_RECTANGLE_CALLOUT",
            "WEDGE_ROUND_RECTANGLE_CALLOUT",
            "FLOW_CHART_ALTERNATE_PROCESS",
            "FLOW_CHART_COLLATE",
            "FLOW_CHART_CONNECTOR",
            "FLOW_CHART_DECISION",
            "FLOW_CHART_DELAY",
            "FLOW_CHART_DISPLAY",
            "FLOW_CHART_DOCUMENT",
            "FLOW_CHART_EXTRACT",
            "FLOW_CHART_INPUT_OUTPUT",
            "FLOW_CHART_INTERNAL_STORAGE",
            "FLOW_CHART_MAGNETIC_DISK",
            "FLOW_CHART_MAGNETIC_DRUM",
            "FLOW_CHART_MAGNETIC_TAPE",
            "FLOW_CHART_MANUAL_INPUT",
            "FLOW_CHART_MANUAL_OPERATION",
            "FLOW_CHART_MERGE",
            "FLOW_CHART_MULTIDOCUMENT",
            "FLOW_CHART_OFFLINE_STORAGE",
            "FLOW_CHART_OFFPAGE_CONNECTOR",
            "FLOW_CHART_ONLINE_STORAGE",
            "FLOW_CHART_OR",
            "FLOW_CHART_PREDEFINED_PROCESS",
            "FLOW_CHART_PREPARATION",
            "FLOW_CHART_PROCESS",
            "FLOW_CHART_PUNCHED_CARD",
            "FLOW_CHART_PUNCHED_TAPE",
            "FLOW_CHART_SORT",
            "FLOW_CHART_SUMMING_JUNCTION",
            "FLOW_CHART_TERMINATOR",
            "ARROW_EAST",
            "ARROW_NORTH_EAST",
            "ARROW_NORTH",
            "SPEECH",
            "STARBURST",
            "TEARDROP",
            "ELLIPSE_RIBBON",
            "ELLIPSE_RIBBON_2",
            "CLOUD_CALLOUT",
            "CUSTOM"
          ],
          "enumDescriptions": [
            "The shape type that is not predefined.",
            "Text box shape.",
            "Rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'rect'.",
            "Round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'roundRect'",
            "Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'",
            "Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'",
            "Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentArrow'",
            "Bent up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentUpArrow'",
            "Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'",
            "Block arc shape. Corresponds to ECMA-376 ST_ShapeType 'blockArc'",
            "Brace pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracePair'",
            "Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracketPair'",
            "Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'",
            "Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'",
            "Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'",
            "Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'",
            "Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'",
            "Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'",
            "Curved down arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedDownArrow'",
            "Curved left arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedLeftArrow'",
            "Curved right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedRightArrow'",
            "Curved up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedUpArrow'",
            "Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'",
            "Diagonal stripe shape. Corresponds to ECMA-376 ST_ShapeType 'diagStripe'",
            "Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'",
            "Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType 'dodecagon'",
            "Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'",
            "Double wave shape. Corresponds to ECMA-376 ST_ShapeType 'doubleWave'",
            "Down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'downArrow'",
            "Callout down arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'downArrowCallout'",
            "Folded corner shape. Corresponds to ECMA-376 ST_ShapeType 'foldedCorner'",
            "Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'",
            "Half frame shape. Corresponds to ECMA-376 ST_ShapeType 'halfFrame'",
            "Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'",
            "Heptagon shape. Corresponds to ECMA-376 ST_ShapeType 'heptagon'",
            "Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'",
            "Home plate shape. Corresponds to ECMA-376 ST_ShapeType 'homePlate'",
            "Horizontal scroll shape. Corresponds to ECMA-376 ST_ShapeType\n'horizontalScroll'",
            "Irregular seal 1 shape. Corresponds to ECMA-376 ST_ShapeType\n'irregularSeal1'",
            "Irregular seal 2 shape. Corresponds to ECMA-376 ST_ShapeType\n'irregularSeal2'",
            "Left arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftArrow'",
            "Callout left arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftArrowCallout'",
            "Left brace shape. Corresponds to ECMA-376 ST_ShapeType 'leftBrace'",
            "Left bracket shape. Corresponds to ECMA-376 ST_ShapeType 'leftBracket'",
            "Left right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightArrow'",
            "Callout left right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightArrowCallout'",
            "Left right up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightUpArrow'",
            "Left up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftUpArrow'",
            "Lightning bolt shape. Corresponds to ECMA-376 ST_ShapeType\n'lightningBolt'",
            "Divide math shape. Corresponds to ECMA-376 ST_ShapeType 'mathDivide'",
            "Equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathEqual'",
            "Minus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMinus'",
            "Multiply math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMultiply'",
            "Not equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathNotEqual'",
            "Plus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathPlus'",
            "Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'",
            "No smoking shape. Corresponds to ECMA-376 ST_ShapeType 'noSmoking'",
            "Notched right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'notchedRightArrow'",
            "Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'",
            "Parallelogram shape. Corresponds to ECMA-376 ST_ShapeType 'parallelogram'",
            "Pentagon shape. Corresponds to ECMA-376 ST_ShapeType 'pentagon'",
            "Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'",
            "Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'",
            "Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'",
            "Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType 'quadArrow'",
            "Callout quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'quadArrowCallout'",
            "Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'",
            "Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon2'",
            "Right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'rightArrow'",
            "Callout right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'rightArrowCallout'",
            "Right brace shape. Corresponds to ECMA-376 ST_ShapeType 'rightBrace'",
            "Right bracket shape. Corresponds to ECMA-376 ST_ShapeType 'rightBracket'",
            "One round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'round1Rect'",
            "Two diagonal round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'round2DiagRect'",
            "Two same-side round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'round2SameRect'",
            "Right triangle shape. Corresponds to ECMA-376 ST_ShapeType 'rtTriangle'",
            "Smiley face shape. Corresponds to ECMA-376 ST_ShapeType 'smileyFace'",
            "One snip corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'snip1Rect'",
            "Two diagonal snip corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snip2DiagRect'",
            "Two same-side snip corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snip2SameRect'",
            "One snip one round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snipRoundRect'",
            "Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star10'",
            "Twelve pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star12'",
            "Sixteen pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star16'",
            "Twenty four pointed star shape. Corresponds to ECMA-376 ST_ShapeType\n'star24'",
            "Thirty two pointed star shape. Corresponds to ECMA-376 ST_ShapeType\n'star32'",
            "Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star4'",
            "Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star5'",
            "Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star6'",
            "Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star7'",
            "Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star8'",
            "Striped right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'stripedRightArrow'",
            "Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'",
            "Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType 'trapezoid'",
            "Triangle shape. Corresponds to ECMA-376 ST_ShapeType 'triangle'",
            "Up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upArrow'",
            "Callout up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'upArrowCallout'",
            "Up down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upDownArrow'",
            "U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType 'uturnArrow'",
            "Vertical scroll shape. Corresponds to ECMA-376 ST_ShapeType\n'verticalScroll'",
            "Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'",
            "Callout wedge ellipse shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeEllipseCallout'",
            "Callout wedge rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeRectCallout'",
            "Callout wedge round rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeRoundRectCallout'",
            "Alternate process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartAlternateProcess'",
            "Collate flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartCollate'",
            "Connector flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartConnector'",
            "Decision flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDecision'",
            "Delay flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDelay'",
            "Display flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDisplay'",
            "Document flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDocument'",
            "Extract flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartExtract'",
            "Input output flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartInputOutput'",
            "Internal storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartInternalStorage'",
            "Magnetic disk flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticDisk'",
            "Magnetic drum flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticDrum'",
            "Magnetic tape flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticTape'",
            "Manual input flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartManualInput'",
            "Manual operation flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartManualOperation'",
            "Merge flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMerge'",
            "Multi-document flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMultidocument'",
            "Offline storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOfflineStorage'",
            "Off-page connector flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOffpageConnector'",
            "Online storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOnlineStorage'",
            "Or flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOr'",
            "Predefined process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPredefinedProcess'",
            "Preparation flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPreparation'",
            "Process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartProcess'",
            "Punched card flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPunchedCard'",
            "Punched tape flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPunchedTape'",
            "Sort flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartSort'",
            "Summing junction flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartSummingJunction'",
            "Terminator flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartTerminator'",
            "East arrow shape.",
            "Northeast arrow shape.",
            "North arrow shape.",
            "Speech shape.",
            "Star burst shape.",
            "Teardrop shape. Corresponds to ECMA-376 ST_ShapeType 'teardrop'",
            "Ellipse ribbon shape. Corresponds to ECMA-376 ST_ShapeType\n'ellipseRibbon'",
            "Ellipse ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType\n'ellipseRibbon2'",
            "Callout cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloudCallout'",
            "Custom shape."
          ],
          "type": "string"
        },
        "placeholder": {
          "description": "Placeholders are shapes that are inherit from corresponding placeholders on\nlayouts and masters.\n\nIf set, the shape is a placeholder shape and any inherited properties\ncan be resolved by looking at the parent placeholder identified by the\nPlaceholder.parent_object_id field.",
          "$ref": "Placeholder"
        }
      },
      "id": "Shape"
    },
    "BatchUpdatePresentationResponse": {
      "description": "Response message from a batch update.",
      "type": "object",
      "properties": {
        "presentationId": {
          "description": "The presentation the updates were applied to.",
          "type": "string"
        },
        "replies": {
          "description": "The reply of the updates.  This maps 1:1 with the updates, although\nreplies to some requests may be empty.",
          "type": "array",
          "items": {
            "$ref": "Response"
          }
        }
      },
      "id": "BatchUpdatePresentationResponse"
    },
    "ImageProperties": {
      "description": "The properties of the Image.",
      "type": "object",
      "properties": {
        "cropProperties": {
          "description": "The crop properties of the image. If not set, the image is not cropped.\nThis property is read-only.",
          "$ref": "CropProperties"
        },
        "outline": {
          "description": "The outline of the image. If not set, the the image has no outline.",
          "$ref": "Outline"
        },
        "shadow": {
          "description": "The shadow of the image. If not set, the image has no shadow. This property\nis read-only.",
          "$ref": "Shadow"
        },
        "transparency": {
          "description": "The transparency effect of the image. The value should be in the interval\n[0.0, 1.0], where 0 means no effect and 1 means completely transparent.\nThis property is read-only.",
          "type": "number",
          "format": "float"
        },
        "contrast": {
          "description": "The contrast effect of the image. The value should be in the interval\n[-1.0, 1.0], where 0 means no effect. This property is read-only.",
          "type": "number",
          "format": "float"
        },
        "link": {
          "description": "The hyperlink destination of the image. If unset, there is no link.",
          "$ref": "Link"
        },
        "recolor": {
          "description": "The recolor effect of the image. If not set, the image is not recolored.\nThis property is read-only.",
          "$ref": "Recolor"
        },
        "brightness": {
          "description": "The brightness effect of the image. The value should be in the interval\n[-1.0, 1.0], where 0 means no effect. This property is read-only.",
          "type": "number",
          "format": "float"
        }
      },
      "id": "ImageProperties"
    },
    "Group": {
      "description": "A PageElement kind representing a\njoined collection of PageElements.",
      "type": "object",
      "properties": {
        "children": {
          "description": "The collection of elements in the group. The minimum size of a group is 2.",
          "type": "array",
          "items": {
            "$ref": "PageElement"
          }
        }
      },
      "id": "Group"
    },
    "Outline": {
      "description": "The outline of a PageElement.\n\nIf these fields are unset, they may be inherited from a parent placeholder\nif it exists. If there is no parent, the fields will default to the value\nused for new page elements created in the Slides editor, which may depend on\nthe page element kind.",
      "type": "object",
      "properties": {
        "weight": {
          "description": "The thickness of the outline.",
          "$ref": "Dimension"
        },
        "dashStyle": {
          "description": "The dash style of the outline.",
          "enum": [
            "DASH_STYLE_UNSPECIFIED",
            "SOLID",
            "DOT",
            "DASH",
            "DASH_DOT",
            "LONG_DASH",
            "LONG_DASH_DOT"
          ],
          "enumDescriptions": [
            "Unspecified dash style.",
            "Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'.\nThis is the default dash style.",
            "Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.",
            "Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'.",
            "Alternating dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'dashDot'.",
            "Line with large dashes. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'lgDash'.",
            "Alternating large dashes and dots. Corresponds to ECMA-376\nST_PresetLineDashVal value 'lgDashDot'."
          ],
          "type": "string"
        },
        "propertyState": {
          "description": "The outline property state.\n\nUpdating the the outline on a page element will implicitly update this\nfield to`RENDERED`, unless another value is specified in the same request.\nTo have no outline on a page element, set this field to `NOT_RENDERED`. In\nthis case, any other outline fields set in the same request will be\nignored.",
          "enum": [
            "RENDERED",
            "NOT_RENDERED",
            "INHERIT"
          ],
          "enumDescriptions": [
            "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.",
            "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.",
            "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state."
          ],
          "type": "string"
        },
        "outlineFill": {
          "description": "The fill of the outline.",
          "$ref": "OutlineFill"
        }
      },
      "id": "Outline"
    },
    "TableCell": {
      "description": "Properties and contents of each table cell.",
      "type": "object",
      "properties": {
        "text": {
          "description": "The text content of the cell.",
          "$ref": "TextContent"
        },
        "location": {
          "description": "The location of the cell within the table.",
          "$ref": "TableCellLocation"
        },
        "rowSpan": {
          "description": "Row span of the cell.",
          "type": "integer",
          "format": "int32"
        },
        "tableCellProperties": {
          "description": "The properties of the table cell.",
          "$ref": "TableCellProperties"
        },
        "columnSpan": {
          "description": "Column span of the cell.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "TableCell"
    },
    "ReplaceAllShapesWithImageResponse": {
      "description": "The result of replacing shapes with an image.",
      "type": "object",
      "properties": {
        "occurrencesChanged": {
          "description": "The number of shapes replaced with images.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "ReplaceAllShapesWithImageResponse"
    },
    "CreateSlideRequest": {
      "description": "Creates a new slide.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.",
          "type": "string"
        },
        "insertionIndex": {
          "description": "The optional zero-based index indicating where to insert the slides.\n\nIf you don't specify an index, the new slide is created at the end.",
          "type": "integer",
          "format": "int32"
        },
        "slideLayoutReference": {
          "description": "Layout reference of the slide to be inserted, based on the *current\nmaster*, which is one of the following:\n\n- The master of the previous slide index.\n- The master of the first slide, if the insertion_index is zero.\n- The first master in the presentation, if there are no slides.\n\nIf the LayoutReference is not found in the current master, a 400 bad\nrequest error is returned.\n\nIf you don't specify a layout reference, then the new slide will use the\npredefined layout `BLANK`.",
          "$ref": "LayoutReference"
        }
      },
      "id": "CreateSlideRequest"
    },
    "TableCellProperties": {
      "description": "The properties of the TableCell.",
      "type": "object",
      "properties": {
        "tableCellBackgroundFill": {
          "description": "The background fill of the table cell. The default fill matches the fill\nfor newly created table cells in the Slides editor.",
          "$ref": "TableCellBackgroundFill"
        }
      },
      "id": "TableCellProperties"
    },
    "CreateTableResponse": {
      "description": "The result of creating a table.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the created table.",
          "type": "string"
        }
      },
      "id": "CreateTableResponse"
    },
    "Size": {
      "description": "A width and height.",
      "type": "object",
      "properties": {
        "width": {
          "description": "The width of the object.",
          "$ref": "Dimension"
        },
        "height": {
          "description": "The height of the object.",
          "$ref": "Dimension"
        }
      },
      "id": "Size"
    },
    "ColorScheme": {
      "description": "The palette of predefined colors for a page.",
      "type": "object",
      "properties": {
        "colors": {
          "description": "The ThemeColorType and corresponding concrete color pairs.",
          "type": "array",
          "items": {
            "$ref": "ThemeColorPair"
          }
        }
      },
      "id": "ColorScheme"
    },
    "ParagraphMarker": {
      "description": "A TextElement kind that represents the beginning of a new paragraph.",
      "type": "object",
      "properties": {
        "style": {
          "description": "The paragraph's style",
          "$ref": "ParagraphStyle"
        },
        "bullet": {
          "description": "The bullet for this paragraph. If not present, the paragraph does not\nbelong to a list.",
          "$ref": "Bullet"
        }
      },
      "id": "ParagraphMarker"
    },
    "CreateParagraphBulletsRequest": {
      "description": "Creates bullets for all of the paragraphs that overlap with the given\ntext index range.\n\nThe nesting level of each paragraph will be determined by counting leading\ntabs in front of each paragraph. To avoid excess space between the bullet and\nthe corresponding paragraph, these leading tabs are removed by this request.\nThis may change the indices of parts of the text.\n\nIf the paragraph immediately before paragraphs being updated is in a list\nwith a matching preset, the paragraphs being updated are added to that\npreceding list.",
      "type": "object",
      "properties": {
        "objectId": {
          "description": "The object ID of the shape or table containing the text to add bullets to.",
          "type": "string"
        },
        "textRange": {
          "description": "The range of text to apply the bullet presets to, based on TextElement indexes.",
          "$ref": "Range"
        },
        "bulletPreset": {
          "description": "The kinds of bullet glyphs to be used. Defaults to the\n`BULLET_DISC_CIRCLE_SQUARE` preset.",
          "enum": [
            "BULLET_DISC_CIRCLE_SQUARE",
            "BULLET_DIAMONDX_ARROW3D_SQUARE",
            "BULLET_CHECKBOX",
            "BULLET_ARROW_DIAMOND_DISC",
            "BULLET_STAR_CIRCLE_SQUARE",
            "BULLET_ARROW3D_CIRCLE_SQUARE",
            "BULLET_LEFTTRIANGLE_DIAMOND_DISC",
            "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE",
            "BULLET_DIAMOND_CIRCLE_SQUARE",
            "NUMBERED_DIGIT_ALPHA_ROMAN",
            "NUMBERED_DIGIT_ALPHA_ROMAN_PARENS",
            "NUMBERED_DIGIT_NESTED",
            "NUMBERED_UPPERALPHA_ALPHA_ROMAN",
            "NUMBERED_UPPERROMAN_UPPERALPHA_DIGIT",
            "NUMBERED_ZERODIGIT_ALPHA_ROMAN"
          ],
          "enumDescriptions": [
            "A bulleted list with a `DISC`, `CIRCLE` and `SQUARE` bullet glyph for the\nfirst 3 list nesting levels.",
            "A bulleted list with a `DIAMONDX`, `ARROW3D` and `SQUARE` bullet glyph for\nthe first 3 list nesting levels.",
            "A bulleted list with `CHECKBOX` bullet glyphs for all list nesting levels.",
            "A bulleted list with a `ARROW`, `DIAMOND` and `DISC` bullet glyph for\nthe first 3 list nesting levels.",
            "A bulleted list with a `STAR`, `CIRCLE` and `DISC` bullet glyph for\nthe first 3 list nesting levels.",
            "A bulleted list with a `ARROW3D`, `CIRCLE` and `SQUARE` bullet glyph for\nthe first 3 list nesting levels.",
            "A bulleted list with a `LEFTTRIANGLE`, `DIAMOND` and `DISC` bullet glyph\nfor the first 3 list nesting levels.",
            "A bulleted list with a `DIAMONDX`, `HOLLOWDIAMOND` and `SQUARE` bullet\nglyph for the first 3 list nesting levels.",
            "A bulleted list with a `DIAMOND`, `CIRCLE` and `SQUARE` bullet glyph\nfor the first 3 list nesting levels.",
            "A numbered list with `DIGIT`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by periods.",
            "A numbered list with `DIGIT`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by parenthesis.",
            "A numbered list with `DIGIT` numeric glyphs separated by periods, where\neach nesting level uses the previous nesting level's glyph as a prefix.\nFor example: '1.', '1.1.', '2.', '2.2.'.",
            "A numbered list with `UPPERALPHA`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by periods.",
            "A numbered list with `UPPERROMAN`, `UPPERALPHA` and `DIGIT` numeric glyphs\nfor the first 3 list nesting levels, followed by periods.",
            "A numbered list with `ZERODIGIT`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by periods."
          ],
          "type": "string"
        },
        "cellLocation": {
          "description": "The optional table cell location if the text to be modified is in a table\ncell. If present, the object_id must refer to a table.",
          "$ref": "TableCellLocation"
        }
      },
      "id": "CreateParagraphBulletsRequest"
    },
    "SubstringMatchCriteria": {
      "description": "A criteria that matches a specific string of text in a shape or table.",
      "type": "object",
      "properties": {
        "text": {
          "description": "The text to search for in the shape or table.",
          "type": "string"
        },
        "matchCase": {
          "description": "Indicates whether the search should respect case:\n\n- `True`: the search is case sensitive.\n- `False`: the search is case insensitive.",
          "type": "boolean"
        }
      },
      "id": "SubstringMatchCriteria"
    },
    "WordArt": {
      "description": "A PageElement kind representing\nword art.",
      "type": "object",
      "properties": {
        "renderedText": {
          "description": "The text rendered as word art.",
          "type": "string"
        }
      },
      "id": "WordArt"
    },
    "Range": {
      "description": "Specifies a contiguous range of an indexed collection, such as characters in\ntext.",
      "type": "object",
      "properties": {
        "endIndex": {
          "description": "The optional zero-based index of the end of the collection.\nRequired for `SPECIFIC_RANGE` delete mode.",
          "type": "integer",
          "format": "int32"
        },
        "startIndex": {
          "description": "The optional zero-based index of the beginning of the collection.\nRequired for `SPECIFIC_RANGE` and `FROM_START_INDEX` ranges.",
          "type": "integer",
          "format": "int32"
        },
        "type": {
          "description": "The type of range.",
          "enum": [
            "RANGE_TYPE_UNSPECIFIED",
            "FIXED_RANGE",
            "FROM_START_INDEX",
            "ALL"
          ],
          "enumDescriptions": [
            "Unspecified range type. This value must not be used.",
            "A fixed range. Both the `start_index` and\n`end_index` must be specified.",
            "Starts the range at `start_index` and continues until the\nend of the collection. The `end_index` must not be specified.",
            "Sets the range to be the whole length of the collection. Both the\n`start_index` and the `end_index` must not be\nspecified."
          ],
          "type": "string"
        }
      },
      "id": "Range"
    },
    "TableColumnProperties": {
      "description": "Properties of each column in a table.",
      "type": "object",
      "properties": {
        "columnWidth": {
          "description": "Width of a column.",
          "$ref": "Dimension"
        }
      },
      "id": "TableColumnProperties"
    },
    "Request": {
      "description": "A single kind of update to apply to a presentation.",
      "type": "object",
      "properties": {
        "createParagraphBullets": {
          "description": "Creates bullets for paragraphs.",
          "$ref": "CreateParagraphBulletsRequest"
        },
        "insertTableColumns": {
          "description": "Inserts columns into a table.",
          "$ref": "InsertTableColumnsRequest"
        },
        "createTable": {
          "description": "Creates a new table.",
          "$ref": "CreateTableRequest"
        },
        "deleteText": {
          "description": "Deletes text from a shape or a table cell.",
          "$ref": "DeleteTextRequest"
        },
        "replaceAllText": {
          "description": "Replaces all instances of specified text.",
          "$ref": "ReplaceAllTextRequest"
        },
        "updateVideoProperties": {
          "description": "Updates the properties of a Video.",
          "$ref": "UpdateVideoPropertiesRequest"
        },
        "insertText": {
          "description": "Inserts text into a shape or table cell.",
          "$ref": "InsertTextRequest"
        },
        "deleteTableRow": {
          "description": "Deletes a row from a table.",
          "$ref": "DeleteTableRowRequest"
        },
        "createLine": {
          "description": "Creates a line.",
          "$ref": "CreateLineRequest"
        },
        "updateTextStyle": {
          "description": "Updates the styling of text within a Shape or Table.",
          "$ref": "UpdateTextStyleRequest"
        },
        "insertTableRows": {
          "description": "Inserts rows into a table.",
          "$ref": "InsertTableRowsRequest"
        },
        "updateTableCellProperties": {
          "description": "Updates the properties of a TableCell.",
          "$ref": "UpdateTableCellPropertiesRequest"
        },
        "refreshSheetsChart": {
          "description": "Refreshes a Google Sheets chart.",
          "$ref": "RefreshSheetsChartRequest"
        },
        "createSheetsChart": {
          "description": "Creates an embedded Google Sheets chart.",
          "$ref": "CreateSheetsChartRequest"
        },
        "updatePageProperties": {
          "description": "Updates the properties of a Page.",
          "$ref": "UpdatePagePropertiesRequest"
        },
        "updateShapeProperties": {
          "description": "Updates the properties of a Shape.",
          "$ref": "UpdateShapePropertiesRequest"
        },
        "createSlide": {
          "description": "Creates a new slide.",
          "$ref": "CreateSlideRequest"
        },
        "deleteObject": {
          "description": "Deletes a page or page element from the presentation.",
          "$ref": "DeleteObjectRequest"
        },
        "createShape": {
          "description": "Creates a new shape.",
          "$ref": "CreateShapeRequest"
        },
        "updatePageElementTransform": {
          "description": "Updates the transform of a page element.",
          "$ref": "UpdatePageElementTransformRequest"
        },
        "updateSlidesPosition": {
          "description": "Updates the position of a set of slides in the presentation.",
          "$ref": "UpdateSlidesPositionRequest"
        },
        "replaceAllShapesWithImage": {
          "description": "Replaces all shapes matching some criteria with an image.",
          "$ref": "ReplaceAllShapesWithImageRequest"
        },
        "updateImageProperties": {
          "description": "Updates the properties of an Image.",
          "$ref": "UpdateImagePropertiesRequest"
        },
        "createVideo": {
          "description": "Creates a video.",
          "$ref": "CreateVideoRequest"
        },
        "createImage": {
          "description": "Creates an image.",
          "$ref": "CreateImageRequest"
        },
        "duplicateObject": {
          "description": "Duplicates a slide or page element.",
          "$ref": "DuplicateObjectRequest"
        },
        "deleteTableColumn": {
          "description": "Deletes a column from a table.",
          "$ref": "DeleteTableColumnRequest"
        },
        "updateLineProperties": {
          "description": "Updates the properties of a Line.",
          "$ref": "UpdateLinePropertiesRequest"
        }
      },
      "id": "Request"
    },
    "LineFill": {
      "description": "The fill of the line.",
      "type": "object",
      "properties": {
        "solidFill": {
          "description": "Solid color fill.",
          "$ref": "SolidFill"
        }
      },
      "id": "LineFill"
    },
    "OutlineFill": {
      "description": "The fill of the outline.",
      "type": "object",
      "properties": {
        "solidFill": {
          "description": "Solid color fill.",
          "$ref": "SolidFill"
        }
      },
      "id": "OutlineFill"
    },
    "Bullet": {
      "description": "Describes the bullet of a paragraph.",
      "type": "object",
      "properties": {
        "nestingLevel": {
          "description": "The nesting level of this paragraph in the list.",
          "type": "integer",
          "format": "int32"
        },
        "glyph": {
          "description": "The rendered bullet glyph for this paragraph.",
          "type": "string"
        },
        "bulletStyle": {
          "description": "The paragraph specific text style applied to this bullet.",
          "$ref": "TextStyle"
        },
        "listId": {
          "description": "The ID of the list this paragraph belongs to.",
          "type": "string"
        }
      },
      "id": "Bullet"
    }
  },
  "revision": "20161213",
  "basePath": "",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "version_module": "True",
  "canonicalName": "Slides",
  "discoveryVersion": "v1",
  "baseUrl": "https://slides.googleapis.com/",
  "name": "slides",
  "parameters": {
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "type": "boolean",
      "location": "query"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string",
      "location": "query"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "type": "string",
      "location": "query"
    },
    "pp": {
      "description": "Pretty-print response.",
      "default": "true",
      "type": "boolean",
      "location": "query"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "alt": {
      "description": "Data format for response.",
      "location": "query",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "default": "json",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "type": "string",
      "location": "query"
    },
    "callback": {
      "description": "JSONP",
      "type": "string",
      "location": "query"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "bearer_token": {
      "description": "OAuth bearer token.",
      "type": "string",
      "location": "query"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    }
  },
  "documentationLink": "https://developers.google.com/slides/",
  "ownerDomain": "google.com",
  "batchPath": "batch",
  "servicePath": "",
  "ownerName": "Google",
  "version": "v1",
  "rootUrl": "https://slides.googleapis.com/",
  "kind": "discovery#restDescription"
}
