- HTTP request
- Path parameters
- Request body
- Response body
- Authorization scopes
- Request
- ReplaceAllTextRequest
- SubstringMatchCriteria
- TabsCriteria
- InsertTextRequest
- Location
- EndOfSegmentLocation
- UpdateTextStyleRequest
- CreateParagraphBulletsRequest
- BulletGlyphPreset
- DeleteParagraphBulletsRequest
- CreateNamedRangeRequest
- DeleteNamedRangeRequest
- UpdateParagraphStyleRequest
- DeleteContentRangeRequest
- InsertInlineImageRequest
- InsertTableRequest
- InsertTableRowRequest
- TableCellLocation
- InsertTableColumnRequest
- DeleteTableRowRequest
- DeleteTableColumnRequest
- InsertPageBreakRequest
- DeletePositionedObjectRequest
- UpdateTableColumnPropertiesRequest
- UpdateTableCellStyleRequest
- TableRange
- UpdateTableRowStyleRequest
- ReplaceImageRequest
- ImageReplaceMethod
- UpdateDocumentStyleRequest
- MergeTableCellsRequest
- UnmergeTableCellsRequest
- CreateHeaderRequest
- HeaderFooterType
- CreateFooterRequest
- CreateFootnoteRequest
- ReplaceNamedRangeContentRequest
- UpdateSectionStyleRequest
- InsertSectionBreakRequest
- DeleteHeaderRequest
- DeleteFooterRequest
- PinTableHeaderRowsRequest
- AddDocumentTabRequest
- DeleteTabRequest
- UpdateDocumentTabPropertiesRequest
- InsertPersonRequest
- UpdateNamedStyleRequest
- InsertRichLinkRequest
- InsertDateRequest
- InsertCommentRequest
- AddCommentReplyRequest
- UpdateCommentPostRequest
- DeleteCommentRequest
- DeleteCommentReplyRequest
- AcceptSuggestionRequest
- RejectSuggestionRequest
- DeleteSuggestionRequest
- WriteControl
- WriteMode
- Response
- ReplaceAllTextResponse
- CreateNamedRangeResponse
- InsertInlineImageResponse
- InsertInlineSheetsChartResponse
- CreateHeaderResponse
- CreateFooterResponse
- CreateFootnoteResponse
- AddDocumentTabResponse
- InsertCommentResponse
- AddCommentReplyResponse
- SuggestionResponse
- CommentUpdateState
- Try it!
Applies one or more updates to the document.
Each request is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied.
Some requests have replies to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests.
For example, suppose you call batchUpdate with four updates, and only the third one returns information. The response would have two empty replies, the reply to the third request, and another empty reply, in that order.
Because other users may be editing the document, the document might not exactly reflect your changes: your changes may be altered with respect to collaborator changes. If there are no collaborators, the document should reflect your changes. In any case, the updates in your request are guaranteed to be applied together atomically.
HTTP request
POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate
The URL uses gRPC Transcoding syntax.
Path parameters
| Parameters | |
|---|---|
documentId |
The ID of the document to update. |
Request body
The request body contains data with the following structure:
| JSON representation |
|---|
{ "requests": [ { object ( |
| Fields | |
|---|---|
requests[] |
A list of updates to apply to the document. |
writeControl |
Provides control over how write requests are executed. |
Response body
Response message from a documents.batchUpdate request.
If successful, the response body contains data with the following structure:
| JSON representation |
|---|
{ "documentId": string, "replies": [ { object ( |
| Fields | |
|---|---|
documentId |
The ID of the document to which the updates were applied to. |
replies[] |
The reply of the updates. This maps 1:1 with the updates, although replies to some requests may be empty. |
writeControl |
The updated write control after applying the request. |
suggestionResponses[] |
The suggestions which were affected by each update. This maps 1:1 with the updates. |
commentUpdateState |
Whether comment updates were applied in the batch request. |
Authorization scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/documentshttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.file
For more information, see the Authorization guide.
WriteControl
Provides control over how write requests are executed.
| JSON representation |
|---|
{
"writeMode": enum ( |
| Fields | |
|---|---|
writeMode |
How the request updates should be applied to the document. If unspecified, the request updates will be applied as normal edits. |
Union field control. Determines the revision of the document to write to and how the request should behave if that revision is not the current revision of the document. If neither field is specified, updates are applied to the latest revision. control can be only one of the following: |
|
requiredRevisionId |
The optional When a required revision ID is returned in a response, it indicates the revision ID of the document after the request was applied. |
targetRevisionId |
The optional target If collaborator changes have occurred after the document was read using the API, the changes produced by this write request are applied against the collaborator changes. This results in a new revision of the document that incorporates both the collaborator changes and the changes in the request, with the Docs server resolving conflicting changes. When using target revision ID, the API client can be thought of as another collaborator of the document. The target revision ID can only be used to write to recent versions of a document. If the target revision is too far behind the latest revision, the request is not processed and returns a 400 bad request error. The request should be tried again after retrieving the latest version of the document. Usually a revision ID remains valid for use as a target revision for several minutes after it's read, but for frequently edited documents this window might be shorter. |
WriteMode
Determines how the request updates should be applied to the document.
| Enums | |
|---|---|
WRITE_MODE_UNSPECIFIED |
The write mode is unspecified. Defaults to EDIT behavior. |
EDIT |
Apply all updates as normal edits. |
SUGGEST |
Apply all updates as suggestions. |
SuggestionResponse
The suggestions which were affected by a given update.
| JSON representation |
|---|
{ "createdSuggestionIds": [ string ], "updatedSummarySuggestionIds": [ string ], "deletedSuggestionIds": [ string ], "acceptedSuggestionIds": [ string ], "rejectedSuggestionIds": [ string ] } |
| Fields | |
|---|---|
createdSuggestionIds[] |
The IDs of suggestions which were created during the update. |
updatedSummarySuggestionIds[] |
The IDs of suggestions whose summaries were updated during the update. |
deletedSuggestionIds[] |
The IDs of suggestions which were deleted during the update. |
acceptedSuggestionIds[] |
The IDs of suggestions which were accepted during the update. |
rejectedSuggestionIds[] |
The IDs of suggestions which were rejected during the update. |
CommentUpdateState
The status of comment updates in the batch request.
| Enums | |
|---|---|
COMMENT_UPDATE_STATE_UNSPECIFIED |
The status of comment updates is unspecified. |
NO_UPDATES_REQUESTED |
No comment updates were requested in the batch request. |
ALL_SAVED |
All requested comment updates were applied in the batch request. |
ALL_FAILED_UNKNOWN_REASON |
All requested comment updates failed. |