<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="books_v1.html">Books API</a> . <a href="books_v1.mylibrary.html">mylibrary</a> . <a href="books_v1.mylibrary.annotations.html">annotations</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#delete">delete(annotationId, source=None)</a></code></p>
<p class="firstline">Deletes an annotation.</p>
<p class="toc_element">
  <code><a href="#insert">insert(body, source=None, country=None, showOnlySummaryInResponse=None, annotationId=None)</a></code></p>
<p class="firstline">Inserts a new annotation.</p>
<p class="toc_element">
  <code><a href="#list">list(layerId=None, pageToken=None, layerIds=None, volumeId=None, maxResults=None, showDeleted=None, updatedMax=None, contentVersion=None, source=None, updatedMin=None)</a></code></p>
<p class="firstline">Retrieves a list of annotations, possibly filtered.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#summary">summary(layerIds, volumeId)</a></code></p>
<p class="firstline">Gets the summary of specified layers.</p>
<p class="toc_element">
  <code><a href="#update">update(annotationId, body, source=None)</a></code></p>
<p class="firstline">Updates an existing annotation.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="delete">delete(annotationId, source=None)</code>
  <pre>Deletes an annotation.

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

<div class="method">
    <code class="details" id="insert">insert(body, source=None, country=None, showOnlySummaryInResponse=None, annotationId=None)</code>
  <pre>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.
  country: string, ISO-3166-1 code to override the IP-based location.
  showOnlySummaryInResponse: boolean, Requests that only the summary of the specified layer be provided in the response.
  annotationId: string, The ID for the annotation to insert.

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.
    }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(layerId=None, pageToken=None, layerIds=None, volumeId=None, maxResults=None, showDeleted=None, updatedMax=None, contentVersion=None, source=None, updatedMin=None)</code>
  <pre>Retrieves a list of annotations, possibly filtered.

Args:
  layerId: string, The layer ID to limit annotation by.
  pageToken: string, The value of the nextToken from the previous page.
  layerIds: string, The layer ID(s) to limit annotation by. (repeated)
  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.
  updatedMax: string, RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).
  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.
  }</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>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.
    </pre>
</div>

<div class="method">
    <code class="details" id="summary">summary(layerIds, volumeId)</code>
  <pre>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",
  }</pre>
</div>

<div class="method">
    <code class="details" id="update">update(annotationId, body, source=None)</code>
  <pre>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.
    }</pre>
</div>

</body></html>