# Books API . mylibrary . annotations

## Instance Methods

Deletes an annotation.

Gets an annotation by its ID.

Inserts a new annotation.

Retrieves a list of annotations, possibly filtered.

Retrieves the next page of results.

Gets the summary of specified layers.

Updates an existing annotation.

### Method Details

`delete(annotationId, source=None)`

    Deletes an annotation.

    Args:
      annotationId: string, The ID for the annotation to delete. (required)
      source: string, String to identify the originator of this request.

`get(annotationId, source=None)`

    Gets an annotation by its ID.

    Args:
      annotationId: string, The ID for the annotation to retrieve. (required)
      source: string, String to identify the originator of this request.

    Returns:
      An object of the form:

        {
          "kind": "books#annotation", # Resource type.
          "updated": "A String", # Timestamp for the last time this annotation was modified.
          "created": "A String", # Timestamp for the created time of this annotation.
          "deleted": True or False, # Indicates that this annotation is deleted.
          "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
          "currentVersionRanges": { # Selection ranges for the most recent content version.
            "contentVersion": "A String", # Content version applicable to ranges below.
            "gbTextRange": { # Range in GB text format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "cfiRange": { # Range in CFI format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "imageCfiRange": { # Range in image CFI format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "gbImageRange": { # Range in GB image format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
          },
          "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
          "clientVersionRanges": { # Selection ranges sent from the client.
            "contentVersion": "A String", # Content version the client sent in.
            "gbTextRange": { # Range in GB text format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "cfiRange": { # Range in CFI format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "gbImageRange": { # Range in GB image format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
          },
          "layerSummary": {
            "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
            "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
            "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
          },
          "volumeId": "A String", # The volume that this annotation belongs to.
          "pageIds": [ # Pages that this annotation spans.
            "A String",
          ],
          "layerId": "A String", # The layer this annotation is for.
          "selectedText": "A String", # Excerpt from the volume.
          "highlightStyle": "A String", # The highlight style for this annotation.
          "data": "A String", # User-created data for this annotation.
          "id": "A String", # Id of this annotation, in the form of a GUID.
          "selfLink": "A String", # URL to this resource.
        }

`insert(body, source=None, showOnlySummaryInResponse=None)`

    Inserts a new annotation.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    {
        "kind": "books#annotation", # Resource type.
        "updated": "A String", # Timestamp for the last time this annotation was modified.
        "created": "A String", # Timestamp for the created time of this annotation.
        "deleted": True or False, # Indicates that this annotation is deleted.
        "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
        "currentVersionRanges": { # Selection ranges for the most recent content version.
          "contentVersion": "A String", # Content version applicable to ranges below.
          "gbTextRange": { # Range in GB text format for this annotation for version above.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "cfiRange": { # Range in CFI format for this annotation for version above.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "imageCfiRange": { # Range in image CFI format for this annotation for version above.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "gbImageRange": { # Range in GB image format for this annotation for version above.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
        },
        "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
        "clientVersionRanges": { # Selection ranges sent from the client.
          "contentVersion": "A String", # Content version the client sent in.
          "gbTextRange": { # Range in GB text format for this annotation sent by client.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "cfiRange": { # Range in CFI format for this annotation sent by client.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "gbImageRange": { # Range in GB image format for this annotation sent by client.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
        },
        "layerSummary": {
          "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
          "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
          "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
        },
        "volumeId": "A String", # The volume that this annotation belongs to.
        "pageIds": [ # Pages that this annotation spans.
          "A String",
        ],
        "layerId": "A String", # The layer this annotation is for.
        "selectedText": "A String", # Excerpt from the volume.
        "highlightStyle": "A String", # The highlight style for this annotation.
        "data": "A String", # User-created data for this annotation.
        "id": "A String", # Id of this annotation, in the form of a GUID.
        "selfLink": "A String", # URL to this resource.
      }

      source: string, String to identify the originator of this request.
      showOnlySummaryInResponse: boolean, Requests that only the summary of the specified layer be provided in the response.

    Returns:
      An object of the form:

        {
          "kind": "books#annotation", # Resource type.
          "updated": "A String", # Timestamp for the last time this annotation was modified.
          "created": "A String", # Timestamp for the created time of this annotation.
          "deleted": True or False, # Indicates that this annotation is deleted.
          "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
          "currentVersionRanges": { # Selection ranges for the most recent content version.
            "contentVersion": "A String", # Content version applicable to ranges below.
            "gbTextRange": { # Range in GB text format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "cfiRange": { # Range in CFI format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "imageCfiRange": { # Range in image CFI format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "gbImageRange": { # Range in GB image format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
          },
          "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
          "clientVersionRanges": { # Selection ranges sent from the client.
            "contentVersion": "A String", # Content version the client sent in.
            "gbTextRange": { # Range in GB text format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "cfiRange": { # Range in CFI format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "gbImageRange": { # Range in GB image format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
          },
          "layerSummary": {
            "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
            "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
            "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
          },
          "volumeId": "A String", # The volume that this annotation belongs to.
          "pageIds": [ # Pages that this annotation spans.
            "A String",
          ],
          "layerId": "A String", # The layer this annotation is for.
          "selectedText": "A String", # Excerpt from the volume.
          "highlightStyle": "A String", # The highlight style for this annotation.
          "data": "A String", # User-created data for this annotation.
          "id": "A String", # Id of this annotation, in the form of a GUID.
          "selfLink": "A String", # URL to this resource.
        }

`list(pageToken=None, updatedMax=None, layerId=None, volumeId=None, maxResults=None, showDeleted=None, pageIds=None, contentVersion=None, source=None, updatedMin=None)`

    Retrieves a list of annotations, possibly filtered.

    Args:
      pageToken: string, The value of the nextToken from the previous page.
      updatedMax: string, RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).
      layerId: string, The layer ID to limit annotation by.
      volumeId: string, The volume to restrict annotations to.
      maxResults: integer, Maximum number of results to return
      showDeleted: boolean, Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.
      pageIds: string, The page ID(s) for the volume that is being queried. (repeated)
      contentVersion: string, The content version for the requested volume.
      source: string, String to identify the originator of this request.
      updatedMin: string, RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).

    Returns:
      An object of the form:

        {
        "nextPageToken": "A String", # Token to pass in for pagination for the next page. This will not be present if this request does not have more results.
        "items": [ # A list of annotations.
          {
              "kind": "books#annotation", # Resource type.
              "updated": "A String", # Timestamp for the last time this annotation was modified.
              "created": "A String", # Timestamp for the created time of this annotation.
              "deleted": True or False, # Indicates that this annotation is deleted.
              "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
              "currentVersionRanges": { # Selection ranges for the most recent content version.
                "contentVersion": "A String", # Content version applicable to ranges below.
                "gbTextRange": { # Range in GB text format for this annotation for version above.
                  "startPosition": "A String", # The starting position for the range.
                  "endPosition": "A String", # The ending position for the range.
                  "startOffset": "A String", # The offset from the starting position.
                  "endOffset": "A String", # The offset from the ending position.
                },
                "cfiRange": { # Range in CFI format for this annotation for version above.
                  "startPosition": "A String", # The starting position for the range.
                  "endPosition": "A String", # The ending position for the range.
                  "startOffset": "A String", # The offset from the starting position.
                  "endOffset": "A String", # The offset from the ending position.
                },
                "imageCfiRange": { # Range in image CFI format for this annotation for version above.
                  "startPosition": "A String", # The starting position for the range.
                  "endPosition": "A String", # The ending position for the range.
                  "startOffset": "A String", # The offset from the starting position.
                  "endOffset": "A String", # The offset from the ending position.
                },
                "gbImageRange": { # Range in GB image format for this annotation for version above.
                  "startPosition": "A String", # The starting position for the range.
                  "endPosition": "A String", # The ending position for the range.
                  "startOffset": "A String", # The offset from the starting position.
                  "endOffset": "A String", # The offset from the ending position.
                },
              },
              "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
              "clientVersionRanges": { # Selection ranges sent from the client.
                "contentVersion": "A String", # Content version the client sent in.
                "gbTextRange": { # Range in GB text format for this annotation sent by client.
                  "startPosition": "A String", # The starting position for the range.
                  "endPosition": "A String", # The ending position for the range.
                  "startOffset": "A String", # The offset from the starting position.
                  "endOffset": "A String", # The offset from the ending position.
                },
                "cfiRange": { # Range in CFI format for this annotation sent by client.
                  "startPosition": "A String", # The starting position for the range.
                  "endPosition": "A String", # The ending position for the range.
                  "startOffset": "A String", # The offset from the starting position.
                  "endOffset": "A String", # The offset from the ending position.
                },
                "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
                  "startPosition": "A String", # The starting position for the range.
                  "endPosition": "A String", # The ending position for the range.
                  "startOffset": "A String", # The offset from the starting position.
                  "endOffset": "A String", # The offset from the ending position.
                },
                "gbImageRange": { # Range in GB image format for this annotation sent by client.
                  "startPosition": "A String", # The starting position for the range.
                  "endPosition": "A String", # The ending position for the range.
                  "startOffset": "A String", # The offset from the starting position.
                  "endOffset": "A String", # The offset from the ending position.
                },
              },
              "layerSummary": {
                "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
                "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
                "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
              },
              "volumeId": "A String", # The volume that this annotation belongs to.
              "pageIds": [ # Pages that this annotation spans.
                "A String",
              ],
              "layerId": "A String", # The layer this annotation is for.
              "selectedText": "A String", # Excerpt from the volume.
              "highlightStyle": "A String", # The highlight style for this annotation.
              "data": "A String", # User-created data for this annotation.
              "id": "A String", # Id of this annotation, in the form of a GUID.
              "selfLink": "A String", # URL to this resource.
            },
        ],
        "kind": "books#annotations", # Resource type.
        "totalItems": 42, # Total number of annotations found. This may be greater than the number of notes returned in this response if results have been paginated.
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`summary(layerIds, volumeId)`

    Gets the summary of specified layers.

    Args:
      layerIds: string, Array of layer IDs to get the summary for. (required) (repeated)
      volumeId: string, Volume id to get the summary for. (required)

    Returns:
      An object of the form:

        {
        "layers": [
          {
            "limitType": "A String",
            "remainingCharacterCount": 42,
            "updated": "A String",
            "layerId": "A String",
            "allowedCharacterCount": 42,
          },
        ],
        "kind": "books#annotationsSummary",
      }

`update(annotationId, body, source=None)`

    Updates an existing annotation.

    Args:
      annotationId: string, The ID for the annotation to update. (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "kind": "books#annotation", # Resource type.
        "updated": "A String", # Timestamp for the last time this annotation was modified.
        "created": "A String", # Timestamp for the created time of this annotation.
        "deleted": True or False, # Indicates that this annotation is deleted.
        "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
        "currentVersionRanges": { # Selection ranges for the most recent content version.
          "contentVersion": "A String", # Content version applicable to ranges below.
          "gbTextRange": { # Range in GB text format for this annotation for version above.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "cfiRange": { # Range in CFI format for this annotation for version above.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "imageCfiRange": { # Range in image CFI format for this annotation for version above.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "gbImageRange": { # Range in GB image format for this annotation for version above.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
        },
        "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
        "clientVersionRanges": { # Selection ranges sent from the client.
          "contentVersion": "A String", # Content version the client sent in.
          "gbTextRange": { # Range in GB text format for this annotation sent by client.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "cfiRange": { # Range in CFI format for this annotation sent by client.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
          "gbImageRange": { # Range in GB image format for this annotation sent by client.
            "startPosition": "A String", # The starting position for the range.
            "endPosition": "A String", # The ending position for the range.
            "startOffset": "A String", # The offset from the starting position.
            "endOffset": "A String", # The offset from the ending position.
          },
        },
        "layerSummary": {
          "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
          "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
          "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
        },
        "volumeId": "A String", # The volume that this annotation belongs to.
        "pageIds": [ # Pages that this annotation spans.
          "A String",
        ],
        "layerId": "A String", # The layer this annotation is for.
        "selectedText": "A String", # Excerpt from the volume.
        "highlightStyle": "A String", # The highlight style for this annotation.
        "data": "A String", # User-created data for this annotation.
        "id": "A String", # Id of this annotation, in the form of a GUID.
        "selfLink": "A String", # URL to this resource.
      }

      source: string, String to identify the originator of this request.

    Returns:
      An object of the form:

        {
          "kind": "books#annotation", # Resource type.
          "updated": "A String", # Timestamp for the last time this annotation was modified.
          "created": "A String", # Timestamp for the created time of this annotation.
          "deleted": True or False, # Indicates that this annotation is deleted.
          "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
          "currentVersionRanges": { # Selection ranges for the most recent content version.
            "contentVersion": "A String", # Content version applicable to ranges below.
            "gbTextRange": { # Range in GB text format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "cfiRange": { # Range in CFI format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "imageCfiRange": { # Range in image CFI format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "gbImageRange": { # Range in GB image format for this annotation for version above.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
          },
          "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
          "clientVersionRanges": { # Selection ranges sent from the client.
            "contentVersion": "A String", # Content version the client sent in.
            "gbTextRange": { # Range in GB text format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "cfiRange": { # Range in CFI format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
            "gbImageRange": { # Range in GB image format for this annotation sent by client.
              "startPosition": "A String", # The starting position for the range.
              "endPosition": "A String", # The ending position for the range.
              "startOffset": "A String", # The offset from the starting position.
              "endOffset": "A String", # The offset from the ending position.
            },
          },
          "layerSummary": {
            "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
            "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
            "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
          },
          "volumeId": "A String", # The volume that this annotation belongs to.
          "pageIds": [ # Pages that this annotation spans.
            "A String",
          ],
          "layerId": "A String", # The layer this annotation is for.
          "selectedText": "A String", # Excerpt from the volume.
          "highlightStyle": "A String", # The highlight style for this annotation.
          "data": "A String", # User-created data for this annotation.
          "id": "A String", # Id of this annotation, in the form of a GUID.
          "selfLink": "A String", # URL to this resource.
        }