REST Resource: documents

Resource: Document

A Google Docs document.

JSON representation
{
  "documentId": string,
  "title": string,
  "body": {
    object (Body)
  },
  "headers": {
    string: {
      object(Header)
    },
    ...
  },
  "footers": {
    string: {
      object(Footer)
    },
    ...
  },
  "footnotes": {
    string: {
      object(Footnote)
    },
    ...
  },
  "documentStyle": {
    object (DocumentStyle)
  },
  "suggestedDocumentStyleChanges": {
    string: {
      object(SuggestedDocumentStyle)
    },
    ...
  },
  "namedStyles": {
    object (NamedStyles)
  },
  "suggestedNamedStylesChanges": {
    string: {
      object(SuggestedNamedStyles)
    },
    ...
  },
  "lists": {
    string: {
      object(List)
    },
    ...
  },
  "namedRanges": {
    string: {
      object(NamedRanges)
    },
    ...
  },
  "revisionId": string,
  "suggestionsViewMode": enum (SuggestionsViewMode),
  "inlineObjects": {
    string: {
      object(InlineObject)
    },
    ...
  },
  "positionedObjects": {
    string: {
      object(PositionedObject)
    },
    ...
  }
}
Fields
documentId

string

Output only. The ID of the document.

title

string

The title of the document.

body

object (Body)

Output only. The main body of the document.

headers

map (key: string, value: object (Header))

Output only. The headers in the document, keyed by header ID.

footers

map (key: string, value: object (Footer))

Output only. The footers in the document, keyed by footer ID.

footnotes

map (key: string, value: object (Footnote))

Output only. The footnotes in the document, keyed by footnote ID.

documentStyle

object (DocumentStyle)

Output only. The style of the document.

suggestedDocumentStyleChanges

map (key: string, value: object (SuggestedDocumentStyle))

Output only. The suggested changes to the style of the document, keyed by suggestion ID.

namedStyles

object (NamedStyles)

Output only. The named styles of the document.

suggestedNamedStylesChanges

map (key: string, value: object (SuggestedNamedStyles))

Output only. The suggested changes to the named styles of the document, keyed by suggestion ID.

lists

map (key: string, value: object (List))

Output only. The lists in the document, keyed by list ID.

namedRanges

map (key: string, value: object (NamedRanges))

Output only. The named ranges in the document, keyed by name.

revisionId

string

Output only. The revision ID of the document. Can be used in update requests to specify which revision of a document to apply updates to and how the request should behave if the document has been edited since that revision. Only populated if the user has edit access to the document.

The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the document has not changed. Conversely, a changed ID (for the same document and user) usually means the document has been updated; however, a changed ID can also be due to internal factors such as ID format changes.

suggestionsViewMode

enum (SuggestionsViewMode)

Output only. The suggestions view mode applied to the document.

Note: When editing a document, changes must be based on a document with SUGGESTIONS_INLINE.

inlineObjects

map (key: string, value: object (InlineObject))

Output only. The inline objects in the document, keyed by object ID.

positionedObjects

map (key: string, value: object (PositionedObject))

Output only. The positioned objects in the document, keyed by object ID.

Body

The document body.

The body typically contains the full document contents except for headers, footers and footnotes.

JSON representation
{
  "content": [
    {
      object (StructuralElement)
    }
  ]
}
Fields
content[]

object (StructuralElement)

The contents of the body.

The indexes for the body's content begin at zero.

StructuralElement

A StructuralElement describes content that provides structure to the document.

JSON representation
{
  "startIndex": number,
  "endIndex": number,

  // Union field content can be only one of the following:
  "paragraph": {
    object (Paragraph)
  },
  "sectionBreak": {
    object (SectionBreak)
  },
  "table": {
    object (Table)
  },
  "tableOfContents": {
    object (TableOfContents)
  }
  // End of list of possible types for union field content.
}
Fields
startIndex

number

The zero-based start index of this structural element, in UTF-16 code units.

endIndex

number

The zero-based end index of this structural element, exclusive, in UTF-16 code units.

Union field content. The content of the structural element. content can be only one of the following:
paragraph

object (Paragraph)

A paragraph type of structural element.

sectionBreak

object (SectionBreak)

A section break type of structural element.

table

object (Table)

A table type of structural element.

tableOfContents

object (TableOfContents)

A table of contents type of structural element.

Paragraph

A StructuralElement representing a paragraph. A paragraph is a range of content that is terminated with a newline character.

JSON representation
{
  "elements": [
    {
      object (ParagraphElement)
    }
  ],
  "paragraphStyle": {
    object (ParagraphStyle)
  },
  "suggestedParagraphStyleChanges": {
    string: {
      object(SuggestedParagraphStyle)
    },
    ...
  },
  "bullet": {
    object (Bullet)
  },
  "suggestedBulletChanges": {
    string: {
      object(SuggestedBullet)
    },
    ...
  },
  "positionedObjectIds": [
    string
  ],
  "suggestedPositionedObjectIds": {
    string: {
      object(ObjectReferences)
    },
    ...
  }
}
Fields
elements[]

object (ParagraphElement)

The content of the paragraph broken down into its component parts.

paragraphStyle

object (ParagraphStyle)

The style of this paragraph.

suggestedParagraphStyleChanges

map (key: string, value: object (SuggestedParagraphStyle))

The suggested paragraph style changes to this paragraph, keyed by suggestion ID.

bullet

object (Bullet)

The bullet for this paragraph. If not present, the paragraph does not belong to a list.

suggestedBulletChanges

map (key: string, value: object (SuggestedBullet))

The suggested changes to this paragraph's bullet.

positionedObjectIds[]

string

The IDs of the positioned objects tethered to this paragraph.

suggestedPositionedObjectIds

map (key: string, value: object (ObjectReferences))

The IDs of the positioned objects that are suggested to be attached to this paragraph, keyed by suggestion ID.

ParagraphElement

A ParagraphElement describes content within a Paragraph.

JSON representation
{
  "startIndex": number,
  "endIndex": number,

  // Union field content can be only one of the following:
  "textRun": {
    object (TextRun)
  },
  "autoText": {
    object (AutoText)
  },
  "pageBreak": {
    object (PageBreak)
  },
  "columnBreak": {
    object (ColumnBreak)
  },
  "footnoteReference": {
    object (FootnoteReference)
  },
  "horizontalRule": {
    object (HorizontalRule)
  },
  "equation": {
    object (Equation)
  },
  "inlineObjectElement": {
    object (InlineObjectElement)
  }
  // End of list of possible types for union field content.
}
Fields
startIndex

number

The zero-based start index of this paragraph element, in UTF-16 code units.

endIndex

number

The zero-base end index of this paragraph element, exclusive, in UTF-16 code units.

Union field content. The content of the paragraph element. content can be only one of the following:
textRun

object (TextRun)

A text run paragraph element.

autoText

object (AutoText)

An auto text paragraph element.

pageBreak

object (PageBreak)

A page break paragraph element.

columnBreak

object (ColumnBreak)

A column break paragraph element.

footnoteReference

object (FootnoteReference)

A footnote reference paragraph element.

horizontalRule

object (HorizontalRule)

A horizontal rule paragraph element.

equation

object (Equation)

An equation paragraph element.

inlineObjectElement

object (InlineObjectElement)

An inline object paragraph element.

TextRun

A ParagraphElement that represents a run of text that all has the same styling.

JSON representation
{
  "content": string,
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ],
  "textStyle": {
    object (TextStyle)
  },
  "suggestedTextStyleChanges": {
    string: {
      object(SuggestedTextStyle)
    },
    ...
  }
}
Fields
content

string

The text of this run.

Any non-text elements in the run are replaced with the Unicode character U+E907.

suggestedInsertionIds[]

string

The suggested insertion IDs. A TextRun may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

textStyle

object (TextStyle)

The text style of this run.

suggestedTextStyleChanges

map (key: string, value: object (SuggestedTextStyle))

The suggested text style changes to this run, keyed by suggestion ID.

TextStyle

Represents the styling that can be applied to text.

Inherited text styles are represented as unset fields in this message. A text style's parent depends on where the text style is defined:

  • The TextStyle of text in a Paragraph inherits from the paragraph's corresponding named style type.
  • The TextStyle on a named style inherits from the normal text named style.
  • The TextStyle of the normal text named style inherits from the default text style in the Docs editor.
  • The TextStyle on a Paragraph element that is contained in a table may inherit its text style from the table style.

If the text style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.

JSON representation
{
  "bold": boolean,
  "italic": boolean,
  "underline": boolean,
  "strikethrough": boolean,
  "smallCaps": boolean,
  "backgroundColor": {
    object (OptionalColor)
  },
  "foregroundColor": {
    object (OptionalColor)
  },
  "fontSize": {
    object (Dimension)
  },
  "weightedFontFamily": {
    object (WeightedFontFamily)
  },
  "baselineOffset": enum (BaselineOffset),
  "link": {
    object (Link)
  }
}
Fields
bold

boolean

Whether or not the text is rendered as bold.

italic

boolean

Whether or not the text is italicized.

underline

boolean

Whether or not the text is underlined.

strikethrough

boolean

Whether or not the text is struck through.

smallCaps

boolean

Whether or not the text is in small capital letters.

backgroundColor

object (OptionalColor)

The background color of the text. If set, the color is either an RGB color or transparent, depending on the color field.

foregroundColor

object (OptionalColor)

The foreground color of the text. If set, the color is either an RGB color or transparent, depending on the color field.

fontSize

object (Dimension)

The size of the text's font.

weightedFontFamily

object (WeightedFontFamily)

The font family and rendered weight of the text.

If an update request specifies values for both weightedFontFamily and bold, the weightedFontFamily is applied first, then bold.

If weightedFontFamily#weight is not set, it defaults to 400.

If weightedFontFamily is set, then weightedFontFamily#fontFamily must also be set with a non-empty value. Otherwise, a 400 bad request error is returned.

baselineOffset

enum (BaselineOffset)

The text's vertical offset from its normal position.

Text with SUPERSCRIPT or SUBSCRIPT baseline offsets is automatically rendered in a smaller font size, computed based on the fontSize field. The fontSize itself is not affected by changes in this field.

OptionalColor

A color that can either be fully opaque or fully transparent.

JSON representation
{
  "color": {
    object (Color)
  }
}
Fields
color

object (Color)

If set, this will be used as an opaque color. If unset, this represents a transparent color.

Color

A solid color.

JSON representation
{
  "rgbColor": {
    object (RgbColor)
  }
}
Fields
rgbColor

object (RgbColor)

The RGB color value.

RgbColor

An RGB color.

JSON representation
{
  "red": number,
  "green": number,
  "blue": number
}
Fields
red

number

The red component of the color, from 0.0 to 1.0.

green

number

The green component of the color, from 0.0 to 1.0.

blue

number

The blue component of the color, from 0.0 to 1.0.

Dimension

A magnitude in a single direction in the specified units.

JSON representation
{
  "magnitude": number,
  "unit": enum (Unit)
}
Fields
magnitude

number

The magnitude.

unit

enum (Unit)

The units for magnitude.

Unit

Units of measurement.

Enums
UNIT_UNSPECIFIED The units are unknown.
PT A point, 1/72 of an inch.

WeightedFontFamily

Represents a font family and weight of text.

JSON representation
{
  "fontFamily": string,
  "weight": number
}
Fields
fontFamily

string

The font family of the text.

The font family can be any font from the Font menu in Docs or from Google Fonts. If the font name is unrecognized, the text is rendered in Arial.

weight

number

The weight of the font. This field can have any value that is a multiple of 100 between 100 and 900, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, section 15.6, with non-numerical values disallowed.

The default value is 400 ("normal").

The font weight makes up just one component of the rendered font weight. The rendered weight is determined by a combination of the weight and the text style's resolved bold value, after accounting for inheritance:

  • If the text is bold and the weight is less than 400, the rendered weight is 400.
  • If the text is bold and the weight is greater than or equal to 400 but is less than 700, the rendered weight is 700.
  • If the weight is greater than or equal to 700, the rendered weight is equal to the weight.
  • If the text is not bold, the rendered weight is equal to the weight.

BaselineOffset

The ways in which text can be vertically offset from its normal position.

Enums
BASELINE_OFFSET_UNSPECIFIED The text's baseline offset is inherited from the parent.
NONE The text is not vertically offset.
SUPERSCRIPT The text is vertically offset upwards (superscript).
SUBSCRIPT The text is vertically offset downwards (subscript).

AutoText

A ParagraphElement representing a spot in the text that is dynamically replaced with content that can change over time, like a page number.

JSON representation
{
  "type": enum (Type),
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ],
  "textStyle": {
    object (TextStyle)
  },
  "suggestedTextStyleChanges": {
    string: {
      object(SuggestedTextStyle)
    },
    ...
  }
}
Fields
type

enum (Type)

The type of this auto text.

suggestedInsertionIds[]

string

The suggested insertion IDs. An AutoText may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

textStyle

object (TextStyle)

The text style of this AutoText.

suggestedTextStyleChanges

map (key: string, value: object (SuggestedTextStyle))

The suggested text style changes to this AutoText, keyed by suggestion ID.

Type

The types of auto text.

Enums
TYPE_UNSPECIFIED An unspecified auto text type.
PAGE_NUMBER Type for auto text that represents the current page number.
PAGE_COUNT Type for auto text that represents the total number of pages in the document.

PageBreak

A ParagraphElement representing a page break. A page break makes the subsequent text start at the top of the next page.

JSON representation
{
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ],
  "textStyle": {
    object (TextStyle)
  },
  "suggestedTextStyleChanges": {
    string: {
      object(SuggestedTextStyle)
    },
    ...
  }
}
Fields
suggestedInsertionIds[]

string

The suggested insertion IDs. A PageBreak may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

textStyle

object (TextStyle)

The text style of this PageBreak.

Similar to text content, like text runs and footnote references, the text style of a page break can affect content layout as well as the styling of text inserted adjacent to it.

suggestedTextStyleChanges

map (key: string, value: object (SuggestedTextStyle))

The suggested text style changes to this PageBreak, keyed by suggestion ID.

ColumnBreak

A ParagraphElement representing a column break. A column break makes the subsequent text start at the top of the next column.

JSON representation
{
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ],
  "textStyle": {
    object (TextStyle)
  },
  "suggestedTextStyleChanges": {
    string: {
      object(SuggestedTextStyle)
    },
    ...
  }
}
Fields
suggestedInsertionIds[]

string

The suggested insertion IDs. A ColumnBreak may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

textStyle

object (TextStyle)

The text style of this ColumnBreak.

Similar to text content, like text runs and footnote references, the text style of a column break can affect content layout as well as the styling of text inserted adjacent to it.

suggestedTextStyleChanges

map (key: string, value: object (SuggestedTextStyle))

The suggested text style changes to this ColumnBreak, keyed by suggestion ID.

FootnoteReference

A ParagraphElement representing a footnote reference. A footnote reference is the inline content rendered with a number and is used to identify the footnote.

JSON representation
{
  "footnoteId": string,
  "footnoteNumber": string,
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ],
  "textStyle": {
    object (TextStyle)
  },
  "suggestedTextStyleChanges": {
    string: {
      object(SuggestedTextStyle)
    },
    ...
  }
}
Fields
footnoteId

string

The ID of the footnote that contains the content of this footnote reference.

footnoteNumber

string

The rendered number of this footnote.

suggestedInsertionIds[]

string

The suggested insertion IDs. A FootnoteReference may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

textStyle

object (TextStyle)

The text style of this FootnoteReference.

suggestedTextStyleChanges

map (key: string, value: object (SuggestedTextStyle))

The suggested text style changes to this FootnoteReference, keyed by suggestion ID.

HorizontalRule

A ParagraphElement representing a horizontal line.

JSON representation
{
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ],
  "textStyle": {
    object (TextStyle)
  },
  "suggestedTextStyleChanges": {
    string: {
      object(SuggestedTextStyle)
    },
    ...
  }
}
Fields
suggestedInsertionIds[]

string

The suggested insertion IDs. A HorizontalRule may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

textStyle

object (TextStyle)

The text style of this HorizontalRule.

Similar to text content, like text runs and footnote references, the text style of a horizontal rule can affect content layout as well as the styling of text inserted adjacent to it.

suggestedTextStyleChanges

map (key: string, value: object (SuggestedTextStyle))

The suggested text style changes to this HorizontalRule, keyed by suggestion ID.

Equation

A ParagraphElement representing an equation.

JSON representation
{
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ]
}
Fields
suggestedInsertionIds[]

string

The suggested insertion IDs. A Equation may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

InlineObjectElement

A ParagraphElement that contains an InlineObject.

JSON representation
{
  "inlineObjectId": string,
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ],
  "textStyle": {
    object (TextStyle)
  },
  "suggestedTextStyleChanges": {
    string: {
      object(SuggestedTextStyle)
    },
    ...
  }
}
Fields
inlineObjectId

string

The ID of the InlineObject this element contains.

suggestedInsertionIds[]

string

The suggested insertion IDs. An InlineObjectElement may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

textStyle

object (TextStyle)

The text style of this InlineObjectElement.

Similar to text content, like text runs and footnote references, the text style of an inline object element can affect content layout as well as the styling of text inserted adjacent to it.

suggestedTextStyleChanges

map (key: string, value: object (SuggestedTextStyle))

The suggested text style changes to this InlineObject, keyed by suggestion ID.

ParagraphStyle

Styles that apply to a whole paragraph.

Inherited paragraph styles are represented as unset fields in this message. A paragraph style's parent depends on where the paragraph style is defined:

  • The ParagraphStyle on a Paragraph inherits from the paragraph's corresponding named style type.
  • The ParagraphStyle on a named style inherits from the normal text named style.
  • The ParagraphStyle of the normal text named style inherits from the default paragraph style in the Docs editor.
  • The ParagraphStyle on a Paragraph element that is contained in a table may inherit its paragraph style from the table style.

If the paragraph style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor.

JSON representation
{
  "headingId": string,
  "namedStyleType": enum (NamedStyleType),
  "alignment": enum (Alignment),
  "lineSpacing": number,
  "direction": enum (ContentDirection),
  "spacingMode": enum (SpacingMode),
  "spaceAbove": {
    object (Dimension)
  },
  "spaceBelow": {
    object (Dimension)
  },
  "borderBetween": {
    object (ParagraphBorder)
  },
  "borderTop": {
    object (ParagraphBorder)
  },
  "borderBottom": {
    object (ParagraphBorder)
  },
  "borderLeft": {
    object (ParagraphBorder)
  },
  "borderRight": {
    object (ParagraphBorder)
  },
  "indentFirstLine": {
    object (Dimension)
  },
  "indentStart": {
    object (Dimension)
  },
  "indentEnd": {
    object (Dimension)
  },
  "tabStops": [
    {
      object (TabStop)
    }
  ],
  "keepLinesTogether": boolean,
  "keepWithNext": boolean,
  "avoidWidowAndOrphan": boolean,
  "shading": {
    object (Shading)
  }
}
Fields
headingId

string

The heading ID of the paragraph. If empty, then this paragraph is not a heading.

This property is read-only.

namedStyleType

enum (NamedStyleType)

The named style type of the paragraph.

Since updating the named style type affects other properties within ParagraphStyle, the named style type is applied before the other properties are updated.

alignment

enum (Alignment)

The text alignment for this paragraph.

lineSpacing

number

The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent.

direction

enum (ContentDirection)

The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since paragraph direction is not inherited.

spacingMode

enum (SpacingMode)

The spacing mode for the paragraph.

spaceAbove

object (Dimension)

The amount of extra space above the paragraph. If unset, the value is inherited from the parent.

spaceBelow

object (Dimension)

The amount of extra space below the paragraph. If unset, the value is inherited from the parent.

borderBetween

object (ParagraphBorder)

The border between this paragraph and the next and previous paragraphs. If unset, the value is inherited from the parent.

The between border is rendered when the adjacent paragraph has the same border and indent properties.

Paragraph borders cannot be partially updated. When making changes to a paragraph border the new border must be specified in its entirety.

borderTop

object (ParagraphBorder)

The border at the top of this paragraph. If unset, the value is inherited from the parent.

The top border is rendered when the paragraph above has different border and indent properties.

Paragraph borders cannot be partially updated. When making changes to a paragraph border the new border must be specified in its entirety.

borderBottom

object (ParagraphBorder)

The border at the bottom of this paragraph. If unset, the value is inherited from the parent.

The bottom border is rendered when the paragraph below has different border and indent properties.

Paragraph borders cannot be partially updated. When making changes to a paragraph border the new border must be specified in its entirety.

borderLeft

object (ParagraphBorder)

The border to the left of this paragraph. If unset, the value is inherited from the parent.

Paragraph borders cannot be partially updated. When making changes to a paragraph border the new border must be specified in its entirety.

borderRight

object (ParagraphBorder)

The border to the right of this paragraph. If unset, the value is inherited from the parent.

Paragraph borders cannot be partially updated. When making changes to a paragraph border the new border must be specified in its entirety.

indentFirstLine

object (Dimension)

The amount of indentation for the first line of the paragraph. If unset, the value is inherited from the parent.

indentStart

object (Dimension)

The amount of indentation for the paragraph on the side that corresponds to the start of the text, based on the current paragraph direction. If unset, the value is inherited from the parent.

indentEnd

object (Dimension)

The amount of indentation for the paragraph on the side that corresponds to the end of the text, based on the current paragraph direction. If unset, the value is inherited from the parent.

tabStops[]

object (TabStop)

A list of the tab stops for this paragraph. The list of tab stops is not inherited.

This property is read-only.

keepLinesTogether

boolean

Whether all lines of the paragraph should be laid out on the same page or column if possible. If unset, the value is inherited from the parent.

keepWithNext

boolean

Whether at least a part of this paragraph should be laid out on the same page or column as the next paragraph if possible. If unset, the value is inherited from the parent.

avoidWidowAndOrphan

boolean

Whether to avoid widows and orphans for the paragraph. If unset, the value is inherited from the parent.

shading

object (Shading)

The shading of the paragraph. If unset, the value is inherited from the parent.

NamedStyleType

The types of named styles.

Enums
NAMED_STYLE_TYPE_UNSPECIFIED The type of named style is unspecified.
NORMAL_TEXT Normal text.
TITLE Title.
SUBTITLE Subtitle.
HEADING_1 Heading 1.
HEADING_2 Heading 2.
HEADING_3 Heading 3.
HEADING_4 Heading 4.
HEADING_5 Heading 5.
HEADING_6 Heading 6.

Alignment

The types of text alignment for a paragraph.

Enums
ALIGNMENT_UNSPECIFIED The paragraph alignment is inherited from the parent.
START The paragraph is aligned to the start of the line. Left-aligned for LTR text, right-aligned otherwise.
CENTER The paragraph is centered.
END The paragraph is aligned to the end of the line. Right-aligned for LTR text, left-aligned otherwise.
JUSTIFIED The paragraph is justified.

ContentDirection

The directions content can flow in.

Enums
CONTENT_DIRECTION_UNSPECIFIED The content direction is unspecified.
LEFT_TO_RIGHT The content goes from left to right.
RIGHT_TO_LEFT The content goes from right to left.

SpacingMode

The different modes for paragraph spacing.

Enums
SPACING_MODE_UNSPECIFIED The spacing mode is inherited from the parent.
NEVER_COLLAPSE Paragraph spacing is always rendered.
COLLAPSE_LISTS Paragraph spacing is skipped between list elements.

ParagraphBorder

A border around a paragraph.

JSON representation
{
  "color": {
    object (OptionalColor)
  },
  "width": {
    object (Dimension)
  },
  "padding": {
    object (Dimension)
  },
  "dashStyle": enum (DashStyle)
}
Fields
color

object (OptionalColor)

The color of the border.

width

object (Dimension)

The width of the border.

padding

object (Dimension)

The padding of the border.

dashStyle

enum (DashStyle)

The dash style of the border.

DashStyle

The kinds of dashes with which linear geometry can be rendered. These values are based on the "ST_PresetLineDashVal" simple type described in section 20.1.10.48 of "Office Open XML File Formats - Fundamentals and Markup Language Reference", part 1 of ECMA-376 4th edition.

Enums
DASH_STYLE_UNSPECIFIED Unspecified dash style.
SOLID Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'. This is the default dash style.
DOT Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.
DASH Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'.

TabStop

A tab stop within a paragraph.

JSON representation
{
  "offset": {
    object (Dimension)
  },
  "alignment": enum (TabStopAlignment)
}
Fields
offset

object (Dimension)

The offset between this tab stop and the start margin.

alignment

enum (TabStopAlignment)

The alignment of this tab stop. If unset, the value defaults to START.

TabStopAlignment

The alignment of the tab stop.

Enums
TAB_STOP_ALIGNMENT_UNSPECIFIED The tab stop alignment is unspecified.
START The tab stop is aligned to the start of the line. This is the default.
CENTER The tab stop is aligned to the center of the line.
END The tab stop is aligned to the end of the line.

Shading

The shading of a paragraph.

JSON representation
{
  "backgroundColor": {
    object (OptionalColor)
  }
}
Fields
backgroundColor

object (OptionalColor)

The background color of this paragraph shading.

Bullet

Describes the bullet of a paragraph.

JSON representation
{
  "listId": string,
  "nestingLevel": number,
  "textStyle": {
    object (TextStyle)
  }
}
Fields
listId

string

The ID of the list this paragraph belongs to.

nestingLevel

number

The nesting level of this paragraph in the list.

textStyle

object (TextStyle)

The paragraph specific text style applied to this bullet.

SectionBreak

A StructuralElement representing a section break. A section is a range of content which has the same SectionStyle. A section break represents the start of a new section, and the section style applies to the section after the section break.

The document body always begins with a section break.

JSON representation
{
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ],
  "sectionStyle": {
    object (SectionStyle)
  }
}
Fields
suggestedInsertionIds[]

string

The suggested insertion IDs. A SectionBreak may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

sectionStyle

object (SectionStyle)

The style of the section after this section break.

SectionStyle

The styling that applies to a section.

JSON representation
{
  "columnProperties": [
    {
      object (SectionColumnProperties)
    }
  ],
  "columnSeparatorStyle": enum (ColumnSeparatorStyle),
  "contentDirection": enum (ContentDirection)
}
Fields
columnProperties[]

object (SectionColumnProperties)

The section's columns properties.

If empty, the section contains one column with the default properties in the Docs editor.

columnSeparatorStyle

enum (ColumnSeparatorStyle)

The style of column separators.

This style can be set even when there is one column in the section.

contentDirection

enum (ContentDirection)

The content direction of this section. If unset, the value defaults to LEFT_TO_RIGHT.

SectionColumnProperties

Properties that apply to a section's column.

JSON representation
{
  "width": {
    object (Dimension)
  },
  "paddingEnd": {
    object (Dimension)
  }
}
Fields
width

object (Dimension)

The width of the column.

paddingEnd

object (Dimension)

The padding at the end of the column.

ColumnSeparatorStyle

The style of column separators between columns.

Enums
COLUMN_SEPARATOR_STYLE_UNSPECIFIED An unspecified column separator style.
NONE No column separator lines between columns.
BETWEEN_EACH_COLUMN Renders a column separator line between each column.

Table

A StructuralElement representing a table.

JSON representation
{
  "rows": number,
  "columns": number,
  "tableRows": [
    {
      object (TableRow)
    }
  ],
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ],
  "tableStyle": {
    object (TableStyle)
  }
}
Fields
rows

number

Number of rows in the table.

columns

number

Number of columns in the table.

It is possible for a table to be non-rectangular, so some rows may have a different number of cells.

tableRows[]

object (TableRow)

The contents and style of each row.

suggestedInsertionIds[]

string

The suggested insertion IDs. A Table may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

tableStyle

object (TableStyle)

The style of the table.

TableRow

The contents and style of a row in a Table.

JSON representation
{
  "startIndex": number,
  "endIndex": number,
  "tableCells": [
    {
      object (TableCell)
    }
  ],
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ],
  "tableRowStyle": {
    object (TableRowStyle)
  },
  "suggestedTableRowStyleChanges": {
    string: {
      object(SuggestedTableRowStyle)
    },
    ...
  }
}
Fields
startIndex

number

The zero-based start index of this row, in UTF-16 code units.

endIndex

number

The zero-based end index of this row, exclusive, in UTF-16 code units.

tableCells[]

object (TableCell)

The contents and style of each cell in this row.

It is possible for a table to be non-rectangular, so some rows may have a different number of cells than other rows in the same table.

suggestedInsertionIds[]

string

The suggested insertion IDs. A TableRow may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

tableRowStyle

object (TableRowStyle)

The style of the table row.

suggestedTableRowStyleChanges

map (key: string, value: object (SuggestedTableRowStyle))

The suggested style changes to this row, keyed by suggestion ID.

TableCell

The contents and style of a cell in a Table.

JSON representation
{
  "startIndex": number,
  "endIndex": number,
  "content": [
    {
      object (StructuralElement)
    }
  ],
  "tableCellStyle": {
    object (TableCellStyle)
  },
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ],
  "suggestedTableCellStyleChanges": {
    string: {
      object(SuggestedTableCellStyle)
    },
    ...
  }
}
Fields
startIndex

number

The zero-based start index of this cell, in UTF-16 code units.

endIndex

number

The zero-based end index of this cell, exclusive, in UTF-16 code units.

content[]

object (StructuralElement)

The content of the cell.

tableCellStyle

object (TableCellStyle)

The style of the cell.

suggestedInsertionIds[]

string

The suggested insertion IDs. A TableCell may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

suggestedTableCellStyleChanges

map (key: string, value: object (SuggestedTableCellStyle))

The suggested changes to the table cell style, keyed by suggestion ID.

TableCellStyle

The style of a TableCell.

Inherited table cell styles are represented as unset fields in this message. A table cell style can inherit from the table's style.

JSON representation
{
  "rowSpan": number,
  "columnSpan": number,
  "backgroundColor": {
    object (OptionalColor)
  },
  "borderLeft": {
    object (TableCellBorder)
  },
  "borderRight": {
    object (TableCellBorder)
  },
  "borderTop": {
    object (TableCellBorder)
  },
  "borderBottom": {
    object (TableCellBorder)
  },
  "paddingLeft": {
    object (Dimension)
  },
  "paddingRight": {
    object (Dimension)
  },
  "paddingTop": {
    object (Dimension)
  },
  "paddingBottom": {
    object (Dimension)
  },
  "contentAlignment": enum (ContentAlignment)
}
Fields
rowSpan

number

The row span of the cell.

This property is read-only.

columnSpan

number

The column span of the cell.

This property is read-only.

backgroundColor

object (OptionalColor)

The background color of the cell.

borderLeft

object (TableCellBorder)

The left border of the cell.

borderRight

object (TableCellBorder)

The right border of the cell.

borderTop

object (TableCellBorder)

The top border of the cell.

borderBottom

object (TableCellBorder)

The bottom border of the cell.

paddingLeft

object (Dimension)

The left padding of the cell.

paddingRight

object (Dimension)

The right padding of the cell.

paddingTop

object (Dimension)

The top padding of the cell.

paddingBottom

object (Dimension)

The bottom padding of the cell.

contentAlignment

enum (ContentAlignment)

The alignment of the content in the table cell. The default alignment matches the alignment for newly created table cells in the Docs editor.

TableCellBorder

A border around a table cell.

Table cell borders cannot be transparent. To hide a table cell border, make its width 0.

JSON representation
{
  "color": {
    object (OptionalColor)
  },
  "width": {
    object (Dimension)
  },
  "dashStyle": enum (DashStyle)
}
Fields
color

object (OptionalColor)

The color of the border.

This color cannot be transparent.

width

object (Dimension)

The width of the border.

dashStyle

enum (DashStyle)

The dash style of the border.

ContentAlignment

The types of content alignment.

Derived from a subset of the values of the "ST_TextAnchoringType" simple type in section 20.1.10.59 of "Office Open XML File Formats - Fundamentals and Markup Language Reference", part 1 of ECMA-376 4th edition.

Enums
CONTENT_ALIGNMENT_UNSPECIFIED An unspecified content alignment. The content alignment is inherited from the parent if one exists.
CONTENT_ALIGNMENT_UNSUPPORTED An unsupported content alignment.
TOP An alignment that aligns the content to the top of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 't'.
MIDDLE An alignment that aligns the content to the middle of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'ctr'.
BOTTOM An alignment that aligns the content to the bottom of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'b'.

TableRowStyle

Styles that apply to a table row.

JSON representation
{
  "minRowHeight": {
    object (Dimension)
  }
}
Fields
minRowHeight

object (Dimension)

The minimum height of the row. The row will be rendered in the Docs editor at a height equal to or greater than this value in order to show all the content in the row's cells.

TableStyle

Styles that apply to a table.

JSON representation
{
  "tableColumnProperties": [
    {
      object (TableColumnProperties)
    }
  ]
}
Fields
tableColumnProperties[]

object (TableColumnProperties)

The properties of each column.

Note that in Docs, tables contain rows and rows contain cells, similar to HTML. So the properties for a row can be found on the row's tableRowStyle.

TableColumnProperties

The properties of a column in a table.

JSON representation
{
  "widthType": enum (WidthType),
  "width": {
    object (Dimension)
  }
}
Fields
widthType

enum (WidthType)

The width type of the column.

width

object (Dimension)

The width of the column. Set when the column's widthType is FIXED_WIDTH.

WidthType

The type of width of the column.

Enums
WIDTH_TYPE_UNSPECIFIED The column width type is unspecified.
EVENLY_DISTRIBUTED

The column width is evenly distributed among the other evenly distrubted columns.

The width of the column is automatically determined and will have an equal portion of the width remaining for the table after accounting for all columns with specified widths.

FIXED_WIDTH A fixed column width. The [width][google.apps.docs.v1.TableColumnProperties.width property contains the column's width.

TableOfContents

A StructuralElement representing a table of contents.

JSON representation
{
  "content": [
    {
      object (StructuralElement)
    }
  ],
  "suggestedInsertionIds": [
    string
  ],
  "suggestedDeletionIds": [
    string
  ]
}
Fields
content[]

object (StructuralElement)

The content of the table of contents.

suggestedInsertionIds[]

string

The suggested insertion IDs. A TableOfContents may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion.

suggestedDeletionIds[]

string

The suggested deletion IDs. If empty, then there are no suggested deletions of this content.

DocumentStyle

The style of the document.

JSON representation
{
  "background": {
    object (Background)
  },
  "defaultHeaderId": string,
  "defaultFooterId": string,
  "evenPageHeaderId": string,
  "evenPageFooterId": string,
  "firstPageHeaderId": string,
  "firstPageFooterId": string,
  "useFirstPageHeaderFooter": boolean,
  "useEvenPageHeaderFooter": boolean,
  "pageNumberStart": number,
  "marginTop": {
    object (Dimension)
  },
  "marginBottom": {
    object (Dimension)
  },
  "marginRight": {
    object (Dimension)
  },
  "marginLeft": {
    object (Dimension)
  },
  "pageSize": {
    object (Size)
  }
}
Fields
background

object (Background)

The background of the document. Documents cannot have a transparent background color.

defaultHeaderId

string

The ID of the default header. If not set, there is no default header.

This property is read-only.

evenPageHeaderId

string

The ID of the header used only for even pages. The value of useEvenPageHeaderFooter determines whether to use the defaultHeaderId or this value for the header on even pages. If not set, there is no even page header.

This property is read-only.

firstPageHeaderId

string

The ID of the header used only for the first page. If not set then a unique header for the first page does not exist. The value of useFirstPageHeaderFooter determines whether to use the defaultHeaderId or this value for the header on the first page. If not set, there is no first page header.

This property is read-only.

pageNumberStart

number

The page number from which to start counting the number of pages.

marginTop

object (Dimension)

The top page margin.

Updating the top page margin on the document style clears the top page margin on all section styles.

marginBottom

object (Dimension)

The bottom page margin.

Updating the bottom page margin on the document style clears the bottom page margin on all section styles.

marginRight

object (Dimension)

The right page margin.

Updating the right page margin on the document style clears the right page margin on all section styles. It may also cause columns to resize in all sections.

marginLeft

object (Dimension)

The left page margin.

Updating the left page margin on the document style clears the left page margin on all section styles. It may also cause columns to resize in all sections.

pageSize

object (Size)

The size of a page in the document.

Background

Represents the background of a document.

JSON representation
{
  "color": {
    object (OptionalColor)
  }
}
Fields
color

object (OptionalColor)

The background color.

Size

A width and height.

JSON representation
{
  "height": {
    object (Dimension)
  },
  "width": {
    object (Dimension)
  }
}
Fields
height

object (Dimension)

The height of the object.

width

object (Dimension)

The width of the object.

NamedStyles

The named styles. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from these named styles.

JSON representation
{
  "styles": [
    {
      object (NamedStyle)
    }
  ]
}
Fields
styles[]

object (NamedStyle)

The named styles.

There is an entry for each of the possible named style types.

NamedStyle

A named style. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from this named style when they have the same named style type.

JSON representation
{
  "namedStyleType": enum (NamedStyleType),
  "textStyle": {
    object (TextStyle)
  },
  "paragraphStyle": {
    object (ParagraphStyle)
  }
}
Fields
namedStyleType

enum (NamedStyleType)

The type of this named style.

textStyle

object (TextStyle)

The text style of this named style.

paragraphStyle

object (ParagraphStyle)

The paragraph style of this named style.

SuggestionsViewMode

The suggestions view mode applied to the document which indicates how suggested changes are represented. It provides options for reading the document with all suggestions inline, accepted or rejected.

Enums
DEFAULT_FOR_CURRENT_ACCESS The SuggestionsViewMode applied to the returned document depends on the user's current access level. If the user only has view access, PREVIEW_WITHOUT_SUGGESTIONS is applied. Otherwise, SUGGESTIONS_INLINE is applied. This is the default suggestions view mode.
SUGGESTIONS_INLINE

The returned document has suggestions inline. Suggested changes will be differentiated from base content within the document.

Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.

PREVIEW_SUGGESTIONS_ACCEPTED

The returned document is a preview with all suggested changes accepted.

Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.

PREVIEW_WITHOUT_SUGGESTIONS The returned document is a preview with all suggested changes rejected if there are any suggestions in the document.

Methods

batchUpdate

Applies one or more updates to the document.

create

Creates a blank document using the title given in the request.

get

Gets the latest version of the specified document.