{ "baseUrl": "https://books.googleapis.com/", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "ownerDomain": "google.com", "rootUrl": "https://books.googleapis.com/", "fullyEncodeReservedExpansion": true, "id": "books:v1", "version_module": true, "resources": { "bookshelves": { "methods": { "get": { "id": "books.bookshelves.get", "path": "books/v1/users/{userId}/bookshelves/{shelf}", "flatPath": "books/v1/users/{userId}/bookshelves/{shelf}", "httpMethod": "GET", "parameters": { "userId": { "description": "ID of user for whom to retrieve bookshelves.", "location": "path", "required": true, "type": "string" }, "shelf": { "description": "ID of bookshelf to retrieve.", "location": "path", "required": true, "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "userId", "shelf" ], "response": { "$ref": "Bookshelf" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Retrieves metadata for a specific bookshelf for the specified user." }, "list": { "id": "books.bookshelves.list", "path": "books/v1/users/{userId}/bookshelves", "flatPath": "books/v1/users/{userId}/bookshelves", "httpMethod": "GET", "parameters": { "userId": { "description": "ID of user for whom to retrieve bookshelves.", "location": "path", "required": true, "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "userId" ], "response": { "$ref": "Bookshelves" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Retrieves a list of public bookshelves for the specified user." } }, "resources": { "volumes": { "methods": { "list": { "id": "books.bookshelves.volumes.list", "path": "books/v1/users/{userId}/bookshelves/{shelf}/volumes", "flatPath": "books/v1/users/{userId}/bookshelves/{shelf}/volumes", "httpMethod": "GET", "parameters": { "userId": { "description": "ID of user for whom to retrieve bookshelf volumes.", "location": "path", "required": true, "type": "string" }, "shelf": { "description": "ID of bookshelf to retrieve volumes.", "location": "path", "required": true, "type": "string" }, "maxResults": { "description": "Maximum number of results to return", "minimum": "0", "location": "query", "type": "integer", "format": "uint32" }, "showPreorders": { "description": "Set to true to show pre-ordered books. Defaults to false.", "location": "query", "type": "boolean" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "startIndex": { "description": "Index of the first element to return (starts at 0)", "minimum": "0", "location": "query", "type": "integer", "format": "uint32" } }, "parameterOrder": [ "userId", "shelf" ], "response": { "$ref": "Volumes" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Retrieves volumes in a specific bookshelf for the specified user." } } } } }, "cloudloading": { "methods": { "addBook": { "id": "books.cloudloading.addBook", "path": "books/v1/cloudloading/addBook", "flatPath": "books/v1/cloudloading/addBook", "httpMethod": "POST", "parameters": { "drive_document_id": { "description": "A drive document id. The upload_client_token must not be set.", "location": "query", "type": "string" }, "mime_type": { "description": "The document MIME type. It can be set only if the drive_document_id is set.", "location": "query", "type": "string" }, "name": { "description": "The document name. It can be set only if the drive_document_id is set.", "location": "query", "type": "string" }, "upload_client_token": { "description": "Scotty upload token.", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "BooksCloudloadingResource" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Add a user-upload volume and triggers processing." }, "deleteBook": { "id": "books.cloudloading.deleteBook", "path": "books/v1/cloudloading/deleteBook", "flatPath": "books/v1/cloudloading/deleteBook", "httpMethod": "POST", "parameters": { "volumeId": { "description": "The id of the book to be removed.", "location": "query", "required": true, "type": "string" } }, "parameterOrder": [ "volumeId" ], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Remove the book and its contents" }, "updateBook": { "id": "books.cloudloading.updateBook", "path": "books/v1/cloudloading/updateBook", "flatPath": "books/v1/cloudloading/updateBook", "httpMethod": "POST", "parameters": {}, "parameterOrder": [], "request": { "$ref": "BooksCloudloadingResource" }, "response": { "$ref": "BooksCloudloadingResource" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Updates a user-upload volume." } } }, "dictionary": { "methods": { "listOfflineMetadata": { "id": "books.dictionary.listOfflineMetadata", "path": "books/v1/dictionary/listOfflineMetadata", "flatPath": "books/v1/dictionary/listOfflineMetadata", "httpMethod": "GET", "parameters": { "cpksver": { "description": "The device/version ID from which to request the data.", "location": "query", "required": true, "type": "string" } }, "parameterOrder": [ "cpksver" ], "response": { "$ref": "Metadata" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Returns a list of offline dictionary metadata available" } } }, "familysharing": { "methods": { "getFamilyInfo": { "id": "books.familysharing.getFamilyInfo", "path": "books/v1/familysharing/getFamilyInfo", "flatPath": "books/v1/familysharing/getFamilyInfo", "httpMethod": "GET", "parameters": { "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "FamilyInfo" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Gets information regarding the family that the user is part of." }, "share": { "id": "books.familysharing.share", "path": "books/v1/familysharing/share", "flatPath": "books/v1/familysharing/share", "httpMethod": "POST", "parameters": { "docId": { "description": "The docid to share.", "location": "query", "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "volumeId": { "description": "The volume to share.", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Initiates sharing of the content with the user's family. Empty response indicates success." }, "unshare": { "id": "books.familysharing.unshare", "path": "books/v1/familysharing/unshare", "flatPath": "books/v1/familysharing/unshare", "httpMethod": "POST", "parameters": { "docId": { "description": "The docid to unshare.", "location": "query", "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "volumeId": { "description": "The volume to unshare.", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Initiates revoking content that has already been shared with the user's family. Empty response indicates success." } } }, "layers": { "methods": { "get": { "id": "books.layers.get", "path": "books/v1/volumes/{volumeId}/layersummary/{summaryId}", "flatPath": "books/v1/volumes/{volumeId}/layersummary/{summaryId}", "httpMethod": "GET", "parameters": { "volumeId": { "description": "The volume to retrieve layers for.", "location": "path", "required": true, "type": "string" }, "summaryId": { "description": "The ID for the layer to get the summary for.", "location": "path", "required": true, "type": "string" }, "contentVersion": { "description": "The content version for the requested volume.", "location": "query", "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "volumeId", "summaryId" ], "response": { "$ref": "Layersummary" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Gets the layer summary for a volume." }, "list": { "id": "books.layers.list", "path": "books/v1/volumes/{volumeId}/layersummary", "flatPath": "books/v1/volumes/{volumeId}/layersummary", "httpMethod": "GET", "parameters": { "volumeId": { "description": "The volume to retrieve layers for.", "location": "path", "required": true, "type": "string" }, "contentVersion": { "description": "The content version for the requested volume.", "location": "query", "type": "string" }, "maxResults": { "description": "Maximum number of results to return", "minimum": "0", "maximum": "200", "location": "query", "type": "integer", "format": "uint32" }, "pageToken": { "description": "The value of the nextToken from the previous page.", "location": "query", "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "volumeId" ], "response": { "$ref": "Layersummaries" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "List the layer summaries for a volume." } }, "resources": { "annotationData": { "methods": { "get": { "id": "books.layers.annotationData.get", "path": "books/v1/volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}", "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}", "httpMethod": "GET", "parameters": { "volumeId": { "description": "The volume to retrieve annotations for.", "location": "path", "required": true, "type": "string" }, "layerId": { "description": "The ID for the layer to get the annotations.", "location": "path", "required": true, "type": "string" }, "annotationDataId": { "description": "The ID of the annotation data to retrieve.", "location": "path", "required": true, "type": "string" }, "allowWebDefinitions": { "description": "For the dictionary layer. Whether or not to allow web definitions.", "location": "query", "type": "boolean" }, "contentVersion": { "description": "The content version for the volume you are trying to retrieve.", "location": "query", "required": true, "type": "string" }, "h": { "description": "The requested pixel height for any images. If height is provided width must also be provided.", "location": "query", "type": "integer", "format": "int32" }, "locale": { "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", "location": "query", "type": "string" }, "scale": { "description": "The requested scale for the image.", "minimum": "0", "location": "query", "type": "integer", "format": "int32" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "w": { "description": "The requested pixel width for any images. If width is provided height must also be provided.", "location": "query", "type": "integer", "format": "int32" } }, "parameterOrder": [ "volumeId", "layerId", "annotationDataId", "contentVersion" ], "response": { "$ref": "DictionaryAnnotationdata" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Gets the annotation data." }, "list": { "id": "books.layers.annotationData.list", "path": "books/v1/volumes/{volumeId}/layers/{layerId}/data", "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/data", "httpMethod": "GET", "parameters": { "volumeId": { "description": "The volume to retrieve annotation data for.", "location": "path", "required": true, "type": "string" }, "layerId": { "description": "The ID for the layer to get the annotation data.", "location": "path", "required": true, "type": "string" }, "annotationDataId": { "description": "The list of Annotation Data Ids to retrieve. Pagination is ignored if this is set.", "location": "query", "repeated": true, "type": "string" }, "contentVersion": { "description": "The content version for the requested volume.", "location": "query", "required": true, "type": "string" }, "h": { "description": "The requested pixel height for any images. If height is provided width must also be provided.", "location": "query", "type": "integer", "format": "int32" }, "locale": { "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", "location": "query", "type": "string" }, "maxResults": { "description": "Maximum number of results to return", "minimum": "0", "maximum": "200", "location": "query", "type": "integer", "format": "uint32" }, "pageToken": { "description": "The value of the nextToken from the previous page.", "location": "query", "type": "string" }, "scale": { "description": "The requested scale for the image.", "minimum": "0", "location": "query", "type": "integer", "format": "int32" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "updatedMax": { "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).", "location": "query", "type": "string" }, "updatedMin": { "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).", "location": "query", "type": "string" }, "w": { "description": "The requested pixel width for any images. If width is provided height must also be provided.", "location": "query", "type": "integer", "format": "int32" } }, "parameterOrder": [ "volumeId", "layerId", "contentVersion" ], "response": { "$ref": "Annotationsdata" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Gets the annotation data for a volume and layer." } } }, "volumeAnnotations": { "methods": { "get": { "id": "books.layers.volumeAnnotations.get", "path": "books/v1/volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}", "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}", "httpMethod": "GET", "parameters": { "volumeId": { "description": "The volume to retrieve annotations for.", "location": "path", "required": true, "type": "string" }, "layerId": { "description": "The ID for the layer to get the annotations.", "location": "path", "required": true, "type": "string" }, "annotationId": { "description": "The ID of the volume annotation to retrieve.", "location": "path", "required": true, "type": "string" }, "locale": { "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", "location": "query", "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "volumeId", "layerId", "annotationId" ], "response": { "$ref": "Volumeannotation" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Gets the volume annotation." }, "list": { "id": "books.layers.volumeAnnotations.list", "path": "books/v1/volumes/{volumeId}/layers/{layerId}", "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}", "httpMethod": "GET", "parameters": { "volumeId": { "description": "The volume to retrieve annotations for.", "location": "path", "required": true, "type": "string" }, "layerId": { "description": "The ID for the layer to get the annotations.", "location": "path", "required": true, "type": "string" }, "contentVersion": { "description": "The content version for the requested volume.", "location": "query", "required": true, "type": "string" }, "endOffset": { "description": "The end offset to end retrieving data from.", "location": "query", "type": "string" }, "endPosition": { "description": "The end position to end retrieving data from.", "location": "query", "type": "string" }, "locale": { "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", "location": "query", "type": "string" }, "maxResults": { "description": "Maximum number of results to return", "minimum": "0", "maximum": "200", "location": "query", "type": "integer", "format": "uint32" }, "pageToken": { "description": "The value of the nextToken from the previous page.", "location": "query", "type": "string" }, "showDeleted": { "description": "Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.", "location": "query", "type": "boolean" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "startOffset": { "description": "The start offset to start retrieving data from.", "location": "query", "type": "string" }, "startPosition": { "description": "The start position to start retrieving data from.", "location": "query", "type": "string" }, "updatedMax": { "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).", "location": "query", "type": "string" }, "updatedMin": { "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).", "location": "query", "type": "string" }, "volumeAnnotationsVersion": { "description": "The version of the volume annotations that you are requesting.", "location": "query", "type": "string" } }, "parameterOrder": [ "volumeId", "layerId", "contentVersion" ], "response": { "$ref": "Volumeannotations" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Gets the volume annotations for a volume and layer." } } } } }, "myconfig": { "methods": { "getUserSettings": { "id": "books.myconfig.getUserSettings", "path": "books/v1/myconfig/getUserSettings", "flatPath": "books/v1/myconfig/getUserSettings", "httpMethod": "GET", "parameters": { "country": { "description": "Unused. Added only to workaround TEX mandatory request template requirement", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Usersettings" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Gets the current settings for the user." }, "releaseDownloadAccess": { "id": "books.myconfig.releaseDownloadAccess", "path": "books/v1/myconfig/releaseDownloadAccess", "flatPath": "books/v1/myconfig/releaseDownloadAccess", "httpMethod": "POST", "parameters": { "cpksver": { "description": "The device/version ID from which to release the restriction.", "location": "query", "required": true, "type": "string" }, "locale": { "description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.", "location": "query", "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "volumeIds": { "description": "The volume(s) to release restrictions for.", "location": "query", "required": true, "repeated": true, "type": "string" } }, "parameterOrder": [ "cpksver", "volumeIds" ], "response": { "$ref": "DownloadAccesses" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Release downloaded content access restriction." }, "requestAccess": { "id": "books.myconfig.requestAccess", "path": "books/v1/myconfig/requestAccess", "flatPath": "books/v1/myconfig/requestAccess", "httpMethod": "POST", "parameters": { "cpksver": { "description": "The device/version ID from which to request the restrictions.", "location": "query", "required": true, "type": "string" }, "licenseTypes": { "description": "The type of access license to request. If not specified, the default is BOTH.", "location": "query", "type": "string", "enumDescriptions": [ "", "Both concurrent and download licenses.", "Concurrent access license.", "Offline download access license." ], "enum": [ "LICENSE_TYPES_UNDEFINED", "BOTH", "CONCURRENT", "DOWNLOAD" ] }, "locale": { "description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.", "location": "query", "type": "string" }, "nonce": { "description": "The client nonce value.", "location": "query", "required": true, "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "required": true, "type": "string" }, "volumeId": { "description": "The volume to request concurrent/download restrictions for.", "location": "query", "required": true, "type": "string" } }, "parameterOrder": [ "cpksver", "nonce", "source", "volumeId" ], "response": { "$ref": "RequestAccessData" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Request concurrent and download access restrictions." }, "syncVolumeLicenses": { "id": "books.myconfig.syncVolumeLicenses", "path": "books/v1/myconfig/syncVolumeLicenses", "flatPath": "books/v1/myconfig/syncVolumeLicenses", "httpMethod": "POST", "parameters": { "cpksver": { "description": "The device/version ID from which to release the restriction.", "location": "query", "required": true, "type": "string" }, "features": { "description": "List of features supported by the client, i.e., 'RENTALS'", "location": "query", "repeated": true, "type": "string", "enumDescriptions": [ "", "Client supports rentals." ], "enum": [ "FEATURES_UNDEFINED", "RENTALS" ] }, "includeNonComicsSeries": { "description": "Set to true to include non-comics series. Defaults to false.", "location": "query", "type": "boolean" }, "locale": { "description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.", "location": "query", "type": "string" }, "nonce": { "description": "The client nonce value.", "location": "query", "required": true, "type": "string" }, "showPreorders": { "description": "Set to true to show pre-ordered books. Defaults to false.", "location": "query", "type": "boolean" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "required": true, "type": "string" }, "volumeIds": { "description": "The volume(s) to request download restrictions for.", "location": "query", "repeated": true, "type": "string" } }, "parameterOrder": [ "cpksver", "nonce", "source" ], "response": { "$ref": "Volumes" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Request downloaded content access for specified volumes on the My eBooks shelf." }, "updateUserSettings": { "id": "books.myconfig.updateUserSettings", "path": "books/v1/myconfig/updateUserSettings", "flatPath": "books/v1/myconfig/updateUserSettings", "httpMethod": "POST", "parameters": {}, "parameterOrder": [], "request": { "$ref": "Usersettings" }, "response": { "$ref": "Usersettings" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Sets the settings for the user. If a sub-object is specified, it will overwrite the existing sub-object stored in the server. Unspecified sub-objects will retain the existing value." } } }, "mylibrary": { "resources": { "annotations": { "methods": { "delete": { "id": "books.mylibrary.annotations.delete", "path": "books/v1/mylibrary/annotations/{annotationId}", "flatPath": "books/v1/mylibrary/annotations/{annotationId}", "httpMethod": "DELETE", "parameters": { "annotationId": { "description": "The ID for the annotation to delete.", "location": "path", "required": true, "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "annotationId" ], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Deletes an annotation." }, "insert": { "id": "books.mylibrary.annotations.insert", "path": "books/v1/mylibrary/annotations", "flatPath": "books/v1/mylibrary/annotations", "httpMethod": "POST", "parameters": { "annotationId": { "description": "The ID for the annotation to insert.", "location": "query", "type": "string" }, "country": { "description": "ISO-3166-1 code to override the IP-based location.", "location": "query", "type": "string" }, "showOnlySummaryInResponse": { "description": "Requests that only the summary of the specified layer be provided in the response.", "location": "query", "type": "boolean" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [], "request": { "$ref": "Annotation" }, "response": { "$ref": "Annotation" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Inserts a new annotation." }, "list": { "id": "books.mylibrary.annotations.list", "path": "books/v1/mylibrary/annotations", "flatPath": "books/v1/mylibrary/annotations", "httpMethod": "GET", "parameters": { "contentVersion": { "description": "The content version for the requested volume.", "location": "query", "type": "string" }, "layerId": { "description": "The layer ID to limit annotation by.", "location": "query", "type": "string" }, "layerIds": { "description": "The layer ID(s) to limit annotation by.", "location": "query", "repeated": true, "type": "string" }, "maxResults": { "description": "Maximum number of results to return", "minimum": "0", "maximum": "40", "location": "query", "type": "integer", "format": "uint32" }, "pageToken": { "description": "The value of the nextToken from the previous page.", "location": "query", "type": "string" }, "showDeleted": { "description": "Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.", "location": "query", "type": "boolean" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "updatedMax": { "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).", "location": "query", "type": "string" }, "updatedMin": { "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).", "location": "query", "type": "string" }, "volumeId": { "description": "The volume to restrict annotations to.", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Annotations" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Retrieves a list of annotations, possibly filtered." }, "summary": { "id": "books.mylibrary.annotations.summary", "path": "books/v1/mylibrary/annotations/summary", "flatPath": "books/v1/mylibrary/annotations/summary", "httpMethod": "POST", "parameters": { "layerIds": { "description": "Array of layer IDs to get the summary for.", "location": "query", "required": true, "repeated": true, "type": "string" }, "volumeId": { "description": "Volume id to get the summary for.", "location": "query", "required": true, "type": "string" }, "source": { "description": "Optional. String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "layerIds", "volumeId" ], "response": { "$ref": "AnnotationsSummary" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Gets the summary of specified layers." }, "update": { "id": "books.mylibrary.annotations.update", "path": "books/v1/mylibrary/annotations/{annotationId}", "flatPath": "books/v1/mylibrary/annotations/{annotationId}", "httpMethod": "PUT", "parameters": { "annotationId": { "description": "The ID for the annotation to update.", "location": "path", "required": true, "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "annotationId" ], "request": { "$ref": "Annotation" }, "response": { "$ref": "Annotation" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Updates an existing annotation." } } }, "bookshelves": { "methods": { "addVolume": { "id": "books.mylibrary.bookshelves.addVolume", "path": "books/v1/mylibrary/bookshelves/{shelf}/addVolume", "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/addVolume", "httpMethod": "POST", "parameters": { "shelf": { "description": "ID of bookshelf to which to add a volume.", "location": "path", "required": true, "type": "string" }, "reason": { "description": "The reason for which the book is added to the library.", "location": "query", "type": "string", "enumDescriptions": [ "", "Volumes added from the PREX flow on iOS.", "Volumes added from the Search flow on iOS.", "Volumes added from the Onboarding flow." ], "enum": [ "REASON_UNDEFINED", "IOS_PREX", "IOS_SEARCH", "ONBOARDING" ] }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "volumeId": { "description": "ID of volume to add.", "location": "query", "required": true, "type": "string" } }, "parameterOrder": [ "shelf", "volumeId" ], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Adds a volume to a bookshelf." }, "clearVolumes": { "id": "books.mylibrary.bookshelves.clearVolumes", "path": "books/v1/mylibrary/bookshelves/{shelf}/clearVolumes", "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/clearVolumes", "httpMethod": "POST", "parameters": { "shelf": { "description": "ID of bookshelf from which to remove a volume.", "location": "path", "required": true, "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "shelf" ], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Clears all volumes from a bookshelf." }, "get": { "id": "books.mylibrary.bookshelves.get", "path": "books/v1/mylibrary/bookshelves/{shelf}", "flatPath": "books/v1/mylibrary/bookshelves/{shelf}", "httpMethod": "GET", "parameters": { "shelf": { "description": "ID of bookshelf to retrieve.", "location": "path", "required": true, "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "shelf" ], "response": { "$ref": "Bookshelf" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Retrieves metadata for a specific bookshelf belonging to the authenticated user." }, "list": { "id": "books.mylibrary.bookshelves.list", "path": "books/v1/mylibrary/bookshelves", "flatPath": "books/v1/mylibrary/bookshelves", "httpMethod": "GET", "parameters": { "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Bookshelves" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Retrieves a list of bookshelves belonging to the authenticated user." }, "moveVolume": { "id": "books.mylibrary.bookshelves.moveVolume", "path": "books/v1/mylibrary/bookshelves/{shelf}/moveVolume", "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/moveVolume", "httpMethod": "POST", "parameters": { "shelf": { "description": "ID of bookshelf with the volume.", "location": "path", "required": true, "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "volumeId": { "description": "ID of volume to move.", "location": "query", "required": true, "type": "string" }, "volumePosition": { "description": "Position on shelf to move the item (0 puts the item before the current first item, 1 puts it between the first and the second and so on.)", "location": "query", "required": true, "type": "integer", "format": "int32" } }, "parameterOrder": [ "shelf", "volumeId", "volumePosition" ], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Moves a volume within a bookshelf." }, "removeVolume": { "id": "books.mylibrary.bookshelves.removeVolume", "path": "books/v1/mylibrary/bookshelves/{shelf}/removeVolume", "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/removeVolume", "httpMethod": "POST", "parameters": { "shelf": { "description": "ID of bookshelf from which to remove a volume.", "location": "path", "required": true, "type": "string" }, "reason": { "description": "The reason for which the book is removed from the library.", "location": "query", "type": "string", "enumDescriptions": [ "", "Samples removed from the Onboarding flow." ], "enum": [ "REASON_UNDEFINED", "ONBOARDING" ] }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "volumeId": { "description": "ID of volume to remove.", "location": "query", "required": true, "type": "string" } }, "parameterOrder": [ "shelf", "volumeId" ], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Removes a volume from a bookshelf." } }, "resources": { "volumes": { "methods": { "list": { "id": "books.mylibrary.bookshelves.volumes.list", "path": "books/v1/mylibrary/bookshelves/{shelf}/volumes", "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/volumes", "httpMethod": "GET", "parameters": { "shelf": { "description": "The bookshelf ID or name retrieve volumes for.", "location": "path", "required": true, "type": "string" }, "country": { "description": "ISO-3166-1 code to override the IP-based location.", "location": "query", "type": "string" }, "maxResults": { "description": "Maximum number of results to return", "minimum": "0", "location": "query", "type": "integer", "format": "uint32" }, "projection": { "description": "Restrict information returned to a set of selected fields.", "location": "query", "type": "string", "enumDescriptions": [ "", "Includes all volume data.", "Includes a subset of fields in volumeInfo and accessInfo." ], "enum": [ "PROJECTION_UNDEFINED", "FULL", "LITE" ] }, "q": { "description": "Full-text search query string in this bookshelf.", "location": "query", "type": "string" }, "showPreorders": { "description": "Set to true to show pre-ordered books. Defaults to false.", "location": "query", "type": "boolean" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "startIndex": { "description": "Index of the first element to return (starts at 0)", "minimum": "0", "location": "query", "type": "integer", "format": "uint32" } }, "parameterOrder": [ "shelf" ], "response": { "$ref": "Volumes" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Gets volume information for volumes on a bookshelf." } } } } }, "readingpositions": { "methods": { "get": { "id": "books.mylibrary.readingpositions.get", "path": "books/v1/mylibrary/readingpositions/{volumeId}", "flatPath": "books/v1/mylibrary/readingpositions/{volumeId}", "httpMethod": "GET", "parameters": { "volumeId": { "description": "ID of volume for which to retrieve a reading position.", "location": "path", "required": true, "type": "string" }, "contentVersion": { "description": "Volume content version for which this reading position is requested.", "location": "query", "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "volumeId" ], "response": { "$ref": "ReadingPosition" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Retrieves my reading position information for a volume." }, "setPosition": { "id": "books.mylibrary.readingpositions.setPosition", "path": "books/v1/mylibrary/readingpositions/{volumeId}/setPosition", "flatPath": "books/v1/mylibrary/readingpositions/{volumeId}/setPosition", "httpMethod": "POST", "parameters": { "volumeId": { "description": "ID of volume for which to update the reading position.", "location": "path", "required": true, "type": "string" }, "action": { "description": "Action that caused this reading position to be set.", "location": "query", "type": "string", "enumDescriptions": [ "", "User chose bookmark within volume.", "User selected chapter from list.", "Next page event.", "Previous page event.", "User navigated to page.", "User chose search results within volume." ], "enum": [ "ACTION_UNDEFINED", "bookmark", "chapter", "next-page", "prev-page", "scroll", "search" ] }, "contentVersion": { "description": "Volume content version for which this reading position applies.", "location": "query", "type": "string" }, "deviceCookie": { "description": "Random persistent device cookie optional on set position.", "location": "query", "type": "string" }, "position": { "description": "Position string for the new volume reading position.", "location": "query", "required": true, "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "timestamp": { "description": "RFC 3339 UTC format timestamp associated with this reading position.", "location": "query", "required": true, "type": "string" } }, "parameterOrder": [ "volumeId", "position", "timestamp" ], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Sets my reading position information for a volume." } } } } }, "notification": { "methods": { "get": { "id": "books.notification.get", "path": "books/v1/notification/get", "flatPath": "books/v1/notification/get", "httpMethod": "GET", "parameters": { "locale": { "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating notification title and body.", "location": "query", "type": "string" }, "notification_id": { "description": "String to identify the notification.", "location": "query", "required": true, "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "notification_id" ], "response": { "$ref": "Notification" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Returns notification details for a given notification id." } } }, "onboarding": { "methods": { "listCategories": { "id": "books.onboarding.listCategories", "path": "books/v1/onboarding/listCategories", "flatPath": "books/v1/onboarding/listCategories", "httpMethod": "GET", "parameters": { "locale": { "description": "ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Category" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "List categories for onboarding experience." }, "listCategoryVolumes": { "id": "books.onboarding.listCategoryVolumes", "path": "books/v1/onboarding/listCategoryVolumes", "flatPath": "books/v1/onboarding/listCategoryVolumes", "httpMethod": "GET", "parameters": { "categoryId": { "description": "List of category ids requested.", "location": "query", "repeated": true, "type": "string" }, "locale": { "description": "ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.", "location": "query", "type": "string" }, "maxAllowedMaturityRating": { "description": "The maximum allowed maturity rating of returned volumes. Books with a higher maturity rating are filtered out.", "location": "query", "type": "string", "enumDescriptions": [ "", "Show books which are rated mature or lower.", "Show books which are rated not mature." ], "enum": [ "MAX_ALLOWED_MATURITY_RATING_UNDEFINED", "MATURE", "not-mature" ] }, "pageSize": { "description": "Number of maximum results per page to be included in the response.", "location": "query", "type": "integer", "format": "uint32" }, "pageToken": { "description": "The value of the nextToken from the previous page.", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Volume2" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "List available volumes under categories for onboarding experience." } } }, "personalizedstream": { "methods": { "get": { "id": "books.personalizedstream.get", "path": "books/v1/personalizedstream/get", "flatPath": "books/v1/personalizedstream/get", "httpMethod": "GET", "parameters": { "locale": { "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", "location": "query", "type": "string" }, "maxAllowedMaturityRating": { "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", "location": "query", "type": "string", "enumDescriptions": [ "", "Show books which are rated mature or lower.", "Show books which are rated not mature." ], "enum": [ "MAX_ALLOWED_MATURITY_RATING_UNDEFINED", "MATURE", "not-mature" ] }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Discoveryclusters" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Returns a stream of personalized book clusters" } } }, "promooffer": { "methods": { "accept": { "id": "books.promooffer.accept", "path": "books/v1/promooffer/accept", "flatPath": "books/v1/promooffer/accept", "httpMethod": "POST", "parameters": { "androidId": { "description": "device android_id", "location": "query", "type": "string" }, "device": { "description": "device device", "location": "query", "type": "string" }, "manufacturer": { "description": "device manufacturer", "location": "query", "type": "string" }, "model": { "description": "device model", "location": "query", "type": "string" }, "offerId": { "location": "query", "type": "string" }, "product": { "description": "device product", "location": "query", "type": "string" }, "serial": { "description": "device serial", "location": "query", "type": "string" }, "volumeId": { "description": "Volume id to exercise the offer", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Accepts the promo offer." }, "dismiss": { "id": "books.promooffer.dismiss", "path": "books/v1/promooffer/dismiss", "flatPath": "books/v1/promooffer/dismiss", "httpMethod": "POST", "parameters": { "androidId": { "description": "device android_id", "location": "query", "type": "string" }, "device": { "description": "device device", "location": "query", "type": "string" }, "manufacturer": { "description": "device manufacturer", "location": "query", "type": "string" }, "model": { "description": "device model", "location": "query", "type": "string" }, "offerId": { "description": "Offer to dimiss", "location": "query", "type": "string" }, "product": { "description": "device product", "location": "query", "type": "string" }, "serial": { "description": "device serial", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Marks the promo offer as dismissed." }, "get": { "id": "books.promooffer.get", "path": "books/v1/promooffer/get", "flatPath": "books/v1/promooffer/get", "httpMethod": "GET", "parameters": { "androidId": { "description": "device android_id", "location": "query", "type": "string" }, "device": { "description": "device device", "location": "query", "type": "string" }, "manufacturer": { "description": "device manufacturer", "location": "query", "type": "string" }, "model": { "description": "device model", "location": "query", "type": "string" }, "product": { "description": "device product", "location": "query", "type": "string" }, "serial": { "description": "device serial", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Offers" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Returns a list of promo offers available to the user" } } }, "series": { "methods": { "get": { "id": "books.series.get", "path": "books/v1/series/get", "flatPath": "books/v1/series/get", "httpMethod": "GET", "parameters": { "series_id": { "description": "String that identifies the series", "location": "query", "required": true, "repeated": true, "type": "string" } }, "parameterOrder": [ "series_id" ], "response": { "$ref": "Series" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Returns Series metadata for the given series ids." } }, "resources": { "membership": { "methods": { "get": { "id": "books.series.membership.get", "path": "books/v1/series/membership/get", "flatPath": "books/v1/series/membership/get", "httpMethod": "GET", "parameters": { "page_size": { "description": "Number of maximum results per page to be included in the response.", "location": "query", "type": "integer", "format": "uint32" }, "page_token": { "description": "The value of the nextToken from the previous page.", "location": "query", "type": "string" }, "series_id": { "description": "String that identifies the series", "location": "query", "required": true, "type": "string" } }, "parameterOrder": [ "series_id" ], "response": { "$ref": "Seriesmembership" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Returns Series membership data given the series id." } } } } }, "volumes": { "methods": { "get": { "id": "books.volumes.get", "path": "books/v1/volumes/{volumeId}", "flatPath": "books/v1/volumes/{volumeId}", "httpMethod": "GET", "parameters": { "volumeId": { "description": "ID of volume to retrieve.", "location": "path", "required": true, "type": "string" }, "country": { "description": "ISO-3166-1 code to override the IP-based location.", "location": "query", "type": "string" }, "includeNonComicsSeries": { "description": "Set to true to include non-comics series. Defaults to false.", "location": "query", "type": "boolean" }, "partner": { "description": "Brand results for partner ID.", "location": "query", "type": "string" }, "projection": { "description": "Restrict information returned to a set of selected fields.", "location": "query", "type": "string", "enumDescriptions": [ "", "Includes all volume data.", "Includes a subset of fields in volumeInfo and accessInfo." ], "enum": [ "PROJECTION_UNDEFINED", "FULL", "LITE" ] }, "source": { "description": "string to identify the originator of this request.", "location": "query", "type": "string" }, "user_library_consistent_read": { "location": "query", "type": "boolean" } }, "parameterOrder": [ "volumeId" ], "response": { "$ref": "Volume" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Gets volume information for a single volume." }, "list": { "id": "books.volumes.list", "path": "books/v1/volumes", "flatPath": "books/v1/volumes", "httpMethod": "GET", "parameters": { "download": { "description": "Restrict to volumes by download availability.", "location": "query", "type": "string", "enumDescriptions": [ "", "All volumes with epub." ], "enum": [ "DOWNLOAD_UNDEFINED", "EPUB" ] }, "filter": { "description": "Filter search results.", "location": "query", "type": "string", "enumDescriptions": [ "", "All Google eBooks.", "Google eBook with full volume text viewability.", "Public can view entire volume text.", "Google eBook with a price.", "Public able to see parts of text." ], "enum": [ "FILTER_UNDEFINED", "ebooks", "free-ebooks", "full", "paid-ebooks", "partial" ] }, "langRestrict": { "description": "Restrict results to books with this language code.", "location": "query", "type": "string" }, "libraryRestrict": { "description": "Restrict search to this user's library.", "location": "query", "type": "string", "enumDescriptions": [ "", "Restrict to the user's library, any shelf.", "Do not restrict based on user's library." ], "enum": [ "LIBRARY_RESTRICT_UNDEFINED", "my-library", "no-restrict" ] }, "maxAllowedMaturityRating": { "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", "location": "query", "type": "string", "enumDescriptions": [ "", "Show books which are rated mature or lower.", "Show books which are rated not mature." ], "enum": [ "MAX_ALLOWED_MATURITY_RATING_UNDEFINED", "MATURE", "not-mature" ] }, "maxResults": { "description": "Maximum number of results to return.", "minimum": "0", "maximum": "40", "location": "query", "type": "integer", "format": "uint32" }, "orderBy": { "description": "Sort search results.", "location": "query", "type": "string", "enumDescriptions": [ "", "Most recently published.", "Relevance to search terms." ], "enum": [ "ORDER_BY_UNDEFINED", "newest", "relevance" ] }, "partner": { "description": "Restrict and brand results for partner ID.", "location": "query", "type": "string" }, "printType": { "description": "Restrict to books or magazines.", "location": "query", "type": "string", "enumDescriptions": [ "", "All volume content types.", "Just books.", "Just magazines." ], "enum": [ "PRINT_TYPE_UNDEFINED", "ALL", "BOOKS", "MAGAZINES" ] }, "projection": { "description": "Restrict information returned to a set of selected fields.", "location": "query", "type": "string", "enumDescriptions": [ "", "Includes all volume data.", "Includes a subset of fields in volumeInfo and accessInfo." ], "enum": [ "PROJECTION_UNDEFINED", "FULL", "LITE" ] }, "q": { "description": "Full-text search query string.", "location": "query", "required": true, "type": "string" }, "showPreorders": { "description": "Set to true to show books available for preorder. Defaults to false.", "location": "query", "type": "boolean" }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "startIndex": { "description": "Index of the first result to return (starts at 0)", "minimum": "0", "location": "query", "type": "integer", "format": "uint32" } }, "parameterOrder": [ "q" ], "response": { "$ref": "Volumes" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Performs a book search." } }, "resources": { "associated": { "methods": { "list": { "id": "books.volumes.associated.list", "path": "books/v1/volumes/{volumeId}/associated", "flatPath": "books/v1/volumes/{volumeId}/associated", "httpMethod": "GET", "parameters": { "volumeId": { "description": "ID of the source volume.", "location": "path", "required": true, "type": "string" }, "association": { "description": "Association type.", "location": "query", "type": "string", "enumDescriptions": [ "", "Recommendations for display end-of-sample.", "Recommendations for display end-of-volume.", "Related volumes for Play Store." ], "enum": [ "ASSOCIATION_UNDEFINED", "end-of-sample", "end-of-volume", "related-for-play" ] }, "locale": { "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", "location": "query", "type": "string" }, "maxAllowedMaturityRating": { "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", "location": "query", "type": "string", "enumDescriptions": [ "", "Show books which are rated mature or lower.", "Show books which are rated not mature." ], "enum": [ "MAX_ALLOWED_MATURITY_RATING_UNDEFINED", "MATURE", "not-mature" ] }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [ "volumeId" ], "response": { "$ref": "Volumes" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Return a list of associated books." } } }, "mybooks": { "methods": { "list": { "id": "books.volumes.mybooks.list", "path": "books/v1/volumes/mybooks", "flatPath": "books/v1/volumes/mybooks", "httpMethod": "GET", "parameters": { "acquireMethod": { "description": "How the book was acquired", "location": "query", "repeated": true, "type": "string", "enumDescriptions": [ "", "Books acquired via Family Sharing", "Preordered books (not yet available)", "User-rented books past their expiration time", "Public domain books", "Purchased books", "User-rented books", "Sample books", "User uploaded books" ], "enum": [ "ACQUIRE_METHOD_UNDEFINED", "FAMILY_SHARED", "PREORDERED", "PREVIOUSLY_RENTED", "PUBLIC_DOMAIN", "PURCHASED", "RENTED", "SAMPLE", "UPLOADED" ] }, "country": { "description": "ISO-3166-1 code to override the IP-based location.", "location": "query", "type": "string" }, "locale": { "description": "ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for generating recommendations.", "location": "query", "type": "string" }, "maxResults": { "description": "Maximum number of results to return.", "minimum": "0", "maximum": "100", "location": "query", "type": "integer", "format": "uint32" }, "processingState": { "description": "The processing state of the user uploaded volumes to be returned. Applicable only if the UPLOADED is specified in the acquireMethod.", "location": "query", "repeated": true, "type": "string", "enumDescriptions": [ "", "The volume processing hase failed.", "The volume processing was completed.", "The volume processing is not completed." ], "enum": [ "PROCESSING_STATE_UNDEFINED", "COMPLETED_FAILED", "COMPLETED_SUCCESS", "RUNNING" ] }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "startIndex": { "description": "Index of the first result to return (starts at 0)", "minimum": "0", "location": "query", "type": "integer", "format": "uint32" } }, "parameterOrder": [], "response": { "$ref": "Volumes" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Return a list of books in My Library." } } }, "recommended": { "methods": { "list": { "id": "books.volumes.recommended.list", "path": "books/v1/volumes/recommended", "flatPath": "books/v1/volumes/recommended", "httpMethod": "GET", "parameters": { "locale": { "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", "location": "query", "type": "string" }, "maxAllowedMaturityRating": { "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", "location": "query", "type": "string", "enumDescriptions": [ "", "Show books which are rated mature or lower.", "Show books which are rated not mature." ], "enum": [ "MAX_ALLOWED_MATURITY_RATING_UNDEFINED", "MATURE", "not-mature" ] }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Volumes" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Return a list of recommended books for the current user." }, "rate": { "id": "books.volumes.recommended.rate", "path": "books/v1/volumes/recommended/rate", "flatPath": "books/v1/volumes/recommended/rate", "httpMethod": "POST", "parameters": { "locale": { "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", "location": "query", "type": "string" }, "rating": { "description": "Rating to be given to the volume.", "location": "query", "required": true, "type": "string", "enumDescriptions": [ "", "Rating indicating a dismissal due to ownership.", "Rating indicating a negative dismissal of a volume." ], "enum": [ "RATING_UNDEFINED", "HAVE_IT", "NOT_INTERESTED" ] }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "volumeId": { "description": "ID of the source volume.", "location": "query", "required": true, "type": "string" } }, "parameterOrder": [ "rating", "volumeId" ], "response": { "$ref": "BooksVolumesRecommendedRateResponse" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Rate a recommended book for the current user." } } }, "useruploaded": { "methods": { "list": { "id": "books.volumes.useruploaded.list", "path": "books/v1/volumes/useruploaded", "flatPath": "books/v1/volumes/useruploaded", "httpMethod": "GET", "parameters": { "locale": { "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", "location": "query", "type": "string" }, "maxResults": { "description": "Maximum number of results to return.", "minimum": "0", "maximum": "40", "location": "query", "type": "integer", "format": "uint32" }, "processingState": { "description": "The processing state of the user uploaded volumes to be returned.", "location": "query", "repeated": true, "type": "string", "enumDescriptions": [ "", "The volume processing hase failed.", "The volume processing was completed.", "The volume processing is not completed." ], "enum": [ "PROCESSING_STATE_UNDEFINED", "COMPLETED_FAILED", "COMPLETED_SUCCESS", "RUNNING" ] }, "source": { "description": "String to identify the originator of this request.", "location": "query", "type": "string" }, "startIndex": { "description": "Index of the first result to return (starts at 0)", "minimum": "0", "location": "query", "type": "integer", "format": "uint32" }, "volumeId": { "description": "The ids of the volumes to be returned. If not specified all that match the processingState are returned.", "location": "query", "repeated": true, "type": "string" } }, "parameterOrder": [], "response": { "$ref": "Volumes" }, "scopes": [ "https://www.googleapis.com/auth/books" ], "description": "Return a list of books uploaded by the current user." } } } } } }, "basePath": "", "version": "v1", "schemas": { "Bookshelf": { "id": "Bookshelf", "type": "object", "properties": { "id": { "description": "Id of this bookshelf, only unique by user.", "type": "integer", "format": "int32" }, "kind": { "description": "Resource type for bookshelf metadata.", "type": "string" }, "title": { "description": "Title of this bookshelf.", "type": "string" }, "description": { "description": "Description of this bookshelf.", "type": "string" }, "access": { "description": "Whether this bookshelf is PUBLIC or PRIVATE.", "type": "string" }, "updated": { "description": "Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).", "type": "string" }, "volumeCount": { "description": "Number of volumes in this bookshelf.", "type": "integer", "format": "int32" }, "volumesLastUpdated": { "description": "Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).", "type": "string" }, "selfLink": { "description": "URL to this resource.", "type": "string" }, "created": { "description": "Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).", "type": "string" } } }, "Bookshelves": { "id": "Bookshelves", "type": "object", "properties": { "kind": { "description": "Resource type.", "type": "string" }, "items": { "description": "A list of bookshelves.", "type": "array", "items": { "$ref": "Bookshelf" } } } }, "Volumes": { "id": "Volumes", "type": "object", "properties": { "kind": { "description": "Resource type.", "type": "string" }, "items": { "description": "A list of volumes.", "type": "array", "items": { "$ref": "Volume" } }, "totalItems": { "description": "Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.", "type": "integer", "format": "int32" } } }, "Volume": { "id": "Volume", "type": "object", "properties": { "id": { "description": "Unique identifier for a volume. (In LITE projection.)", "type": "string" }, "kind": { "description": "Resource type for a volume. (In LITE projection.)", "type": "string" }, "selfLink": { "description": "URL to this resource. (In LITE projection.)", "type": "string" }, "layerInfo": { "description": "What layers exist in this volume and high level information about them.", "type": "object", "properties": { "layers": { "description": "A layer should appear here if and only if the layer exists for this book.", "type": "array", "items": { "type": "object", "properties": { "layerId": { "description": "The layer id of this layer (e.g. \"geo\").", "type": "string" }, "volumeAnnotationsVersion": { "description": "The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.", "type": "string" } } } } } }, "etag": { "description": "Opaque identifier for a specific version of a volume resource. (In LITE projection)", "type": "string" }, "volumeInfo": { "description": "General volume information.", "type": "object", "properties": { "title": { "description": "Volume title. (In LITE projection.)", "type": "string" }, "subtitle": { "description": "Volume subtitle. (In LITE projection.)", "type": "string" }, "authors": { "description": "The names of the authors and/or editors for this volume. (In LITE projection)", "type": "array", "items": { "type": "string" } }, "publisher": { "description": "Publisher of this volume. (In LITE projection.)", "type": "string" }, "publishedDate": { "description": "Date of publication. (In LITE projection.)", "type": "string" }, "description": { "description": "A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)", "type": "string" }, "pageCount": { "description": "Total number of pages as per publisher metadata.", "type": "integer", "format": "int32" }, "printType": { "description": "Type of publication of this volume. Possible values are BOOK or MAGAZINE.", "type": "string" }, "averageRating": { "description": "The mean review rating for this volume. (min = 1.0, max = 5.0)", "type": "number", "format": "double" }, "ratingsCount": { "description": "The number of review ratings for this volume.", "type": "integer", "format": "int32" }, "contentVersion": { "description": "An identifier for the version of the volume content (text & images). (In LITE projection)", "type": "string" }, "imageLinks": { "description": "A list of image links for all the sizes that are available. (In LITE projection.)", "type": "object", "properties": { "thumbnail": { "description": "Image link for thumbnail size (width of ~128 pixels). (In LITE projection)", "type": "string" }, "small": { "description": "Image link for small size (width of ~300 pixels). (In LITE projection)", "type": "string" }, "medium": { "description": "Image link for medium size (width of ~575 pixels). (In LITE projection)", "type": "string" }, "large": { "description": "Image link for large size (width of ~800 pixels). (In LITE projection)", "type": "string" }, "extraLarge": { "description": "Image link for extra large size (width of ~1280 pixels). (In LITE projection)", "type": "string" }, "smallThumbnail": { "description": "Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)", "type": "string" } } }, "language": { "description": "Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.", "type": "string" }, "previewLink": { "description": "URL to preview this volume on the Google Books site.", "type": "string" }, "industryIdentifiers": { "description": "Industry standard identifiers for this volume.", "type": "array", "items": { "type": "object", "properties": { "type": { "description": "Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.", "type": "string" }, "identifier": { "description": "Industry specific volume identifier.", "type": "string" } } } }, "infoLink": { "description": "URL to view information about this volume on the Google Books site. (In LITE projection)", "type": "string" }, "canonicalVolumeLink": { "description": "Canonical URL for a volume. (In LITE projection.)", "type": "string" }, "categories": { "description": "A list of subject categories, such as \"Fiction\", \"Suspense\", etc.", "type": "array", "items": { "type": "string" } }, "printedPageCount": { "description": "Total number of printed pages in generated pdf representation.", "type": "integer", "format": "int32" }, "readingModes": { "description": "The reading modes available for this volume.", "type": "object", "properties": { "text": { "type": "boolean" }, "image": { "type": "boolean" } } }, "samplePageCount": { "description": "Total number of sample pages as per publisher metadata.", "type": "integer", "format": "int32" }, "maturityRating": { "type": "string" }, "allowAnonLogging": { "description": "Whether anonymous logging should be allowed.", "type": "boolean" }, "seriesInfo": { "$ref": "Volumeseriesinfo" }, "comicsContent": { "description": "Whether the volume has comics content.", "type": "boolean" }, "dimensions": { "description": "Physical dimensions of this volume.", "type": "object", "properties": { "height": { "description": "Height or length of this volume (in cm).", "type": "string" }, "width": { "description": "Width of this volume (in cm).", "type": "string" }, "thickness": { "description": "Thickness of this volume (in cm).", "type": "string" } } }, "mainCategory": { "description": "The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.", "type": "string" }, "panelizationSummary": { "description": "A top-level summary of the panelization info in this volume.", "type": "object", "properties": { "containsEpubBubbles": { "type": "boolean" }, "containsImageBubbles": { "type": "boolean" }, "epubBubbleVersion": { "type": "string" }, "imageBubbleVersion": { "type": "string" } } } } }, "userInfo": { "description": "User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)", "type": "object", "properties": { "familySharing": { "description": "Information on the ability to share with the family.", "type": "object", "properties": { "isSharingAllowed": { "description": "Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action.", "type": "boolean" }, "isSharingDisabledByFop": { "description": "Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet.", "type": "boolean" }, "familyRole": { "description": "The role of the user in the family.", "type": "string" } } }, "review": { "description": "This user's review of this volume, if one exists.", "$ref": "Review" }, "readingPosition": { "description": "The user's current reading position in the volume, if one is available. (In LITE projection.)", "$ref": "ReadingPosition" }, "isPurchased": { "description": "Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)", "type": "boolean" }, "updated": { "description": "Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).", "type": "string" }, "isPreordered": { "description": "Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)", "type": "boolean" }, "isInMyBooks": { "description": "Whether or not this volume is currently in \"my books.\"", "type": "boolean" }, "isUploaded": { "description": "Whether or not this volume was user uploaded.", "type": "boolean" }, "rentalState": { "description": "Whether this book is an active or an expired rental.", "type": "string" }, "acquisitionType": { "description": "How this volume was acquired.", "type": "integer", "format": "int32" }, "entitlementType": { "description": "Whether this volume is purchased, sample, pd download etc.", "type": "integer", "format": "int32" }, "acquiredTime": { "description": "Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc.", "type": "string" }, "isFamilySharedFromUser": { "description": "Whether or not the user shared this volume with the family.", "type": "boolean" }, "isFamilySharedToUser": { "description": "Whether or not the user received this volume through family sharing.", "type": "boolean" }, "isFamilySharingAllowed": { "description": "Deprecated: Replaced by familySharing.", "type": "boolean" }, "isFamilySharingDisabledByFop": { "description": "Deprecated: Replaced by familySharing.", "type": "boolean" }, "userUploadedVolumeInfo": { "type": "object", "properties": { "processingState": { "type": "string" } } }, "rentalPeriod": { "description": "Period during this book is/was a valid rental.", "type": "object", "properties": { "startUtcSec": { "type": "string", "format": "int64" }, "endUtcSec": { "type": "string", "format": "int64" } } }, "copy": { "description": "Copy/Paste accounting information.", "type": "object", "properties": { "remainingCharacterCount": { "type": "integer", "format": "int32" }, "allowedCharacterCount": { "type": "integer", "format": "int32" }, "limitType": { "type": "string" }, "updated": { "type": "string" } } } } }, "saleInfo": { "description": "Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).", "type": "object", "properties": { "country": { "description": "The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)", "type": "string" }, "saleability": { "description": "Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.", "type": "string" }, "isEbook": { "description": "Whether or not this volume is an eBook (can be added to the My eBooks shelf).", "type": "boolean" }, "buyLink": { "description": "URL to purchase this volume on the Google Books site. (In LITE projection)", "type": "string" }, "offers": { "description": "Offers available for this volume (sales and rentals).", "type": "array", "items": { "type": "object", "properties": { "finskyOfferType": { "description": "The finsky offer type (e.g., PURCHASE=0 RENTAL=3)", "type": "integer", "format": "int32" }, "giftable": { "description": "Indicates whether the offer is giftable.", "type": "boolean" }, "retailPrice": { "description": "Offer retail (=discounted) price in Micros", "type": "object", "properties": { "currencyCode": { "type": "string" }, "amountInMicros": { "type": "number", "format": "double" } } }, "rentalDuration": { "description": "The rental duration (for rental offers only).", "type": "object", "properties": { "unit": { "type": "string" }, "count": { "type": "number", "format": "double" } } }, "listPrice": { "description": "Offer list (=undiscounted) price in Micros.", "type": "object", "properties": { "currencyCode": { "type": "string" }, "amountInMicros": { "type": "number", "format": "double" } } } } } }, "onSaleDate": { "description": "The date on which this book is available for sale.", "type": "string" }, "listPrice": { "description": "Suggested retail price. (In LITE projection.)", "type": "object", "properties": { "amount": { "description": "Amount in the currency listed below. (In LITE projection.)", "type": "number", "format": "double" }, "currencyCode": { "description": "An ISO 4217, three-letter currency code. (In LITE projection.)", "type": "string" } } }, "retailPrice": { "description": "The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)", "type": "object", "properties": { "amount": { "description": "Amount in the currency listed below. (In LITE projection.)", "type": "number", "format": "double" }, "currencyCode": { "description": "An ISO 4217, three-letter currency code. (In LITE projection.)", "type": "string" } } } } }, "accessInfo": { "description": "Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).", "type": "object", "properties": { "country": { "description": "The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)", "type": "string" }, "viewability": { "description": "The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.", "type": "string" }, "embeddable": { "description": "Whether this volume can be embedded in a viewport using the Embedded Viewer API.", "type": "boolean" }, "publicDomain": { "description": "Whether or not this book is public domain in the country listed above.", "type": "boolean" }, "accessViewStatus": { "description": "Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)", "type": "string" }, "downloadAccess": { "description": "Information about a volume's download license access restrictions.", "$ref": "DownloadAccessRestriction" }, "textToSpeechPermission": { "description": "Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.", "type": "string" }, "webReaderLink": { "description": "URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.", "type": "string" }, "epub": { "description": "Information about epub content. (In LITE projection.)", "type": "object", "properties": { "downloadLink": { "description": "URL to download epub. (In LITE projection.)", "type": "string" }, "acsTokenLink": { "description": "URL to retrieve ACS token for epub download. (In LITE projection.)", "type": "string" }, "isAvailable": { "description": "Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)", "type": "boolean" } } }, "pdf": { "description": "Information about pdf content. (In LITE projection.)", "type": "object", "properties": { "downloadLink": { "description": "URL to download pdf. (In LITE projection.)", "type": "string" }, "acsTokenLink": { "description": "URL to retrieve ACS token for pdf download. (In LITE projection.)", "type": "string" }, "isAvailable": { "description": "Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)", "type": "boolean" } } }, "viewOrderUrl": { "description": "For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.", "type": "string" }, "explicitOfflineLicenseManagement": { "description": "Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.", "type": "boolean" }, "quoteSharingAllowed": { "description": "Whether quote sharing is allowed for this volume.", "type": "boolean" }, "driveImportedContentLink": { "description": "URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.", "type": "string" } } }, "searchInfo": { "description": "Search result information related to this volume.", "type": "object", "properties": { "textSnippet": { "description": "A text snippet containing the search query.", "type": "string" } } }, "recommendedInfo": { "description": "Recommendation related information for this volume.", "type": "object", "properties": { "explanation": { "description": "A text explaining why this volume is recommended.", "type": "string" } } } } }, "Volumeseriesinfo": { "id": "Volumeseriesinfo", "type": "object", "properties": { "shortSeriesBookTitle": { "description": "Short book title in the context of the series.", "type": "string" }, "volumeSeries": { "type": "array", "items": { "type": "object", "properties": { "seriesId": { "description": "The series id.", "type": "string" }, "seriesBookType": { "description": "The book type in the context of series. Examples - Single Issue, Collection Edition, etc.", "type": "string" }, "orderNumber": { "description": "The book order number in the series.", "type": "integer", "format": "int32" }, "issue": { "description": "List of issues. Applicable only for Collection Edition and Omnibus.", "type": "array", "items": { "type": "object", "properties": { "issueOrderNumber": { "type": "integer", "format": "int32" }, "issueDisplayNumber": { "type": "string" } } } } } } }, "bookDisplayNumber": { "description": "The display number string. This should be used only for display purposes and the actual sequence should be inferred from the below orderNumber.", "type": "string" }, "kind": { "description": "Resource type.", "type": "string" } } }, "Review": { "id": "Review", "type": "object", "properties": { "volumeId": { "description": "Volume that this review is for.", "type": "string" }, "type": { "description": "Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.", "type": "string" }, "kind": { "description": "Resource type for a review.", "type": "string" }, "date": { "description": "Date of this review.", "type": "string" }, "title": { "description": "Title for this review.", "type": "string" }, "content": { "description": "Review text.", "type": "string" }, "rating": { "description": "Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.", "type": "string" }, "fullTextUrl": { "description": "URL for the full review text, for reviews gathered from the web.", "type": "string" }, "author": { "description": "Author of this review.", "type": "object", "properties": { "displayName": { "description": "Name of this person.", "type": "string" } } }, "source": { "description": "Information regarding the source of this review, when the review is not from a Google Books user.", "type": "object", "properties": { "description": { "description": "Name of the source.", "type": "string" }, "url": { "description": "URL of the source of the review.", "type": "string" }, "extraDescription": { "description": "Extra text about the source of the review.", "type": "string" } } } } }, "ReadingPosition": { "id": "ReadingPosition", "type": "object", "properties": { "volumeId": { "description": "Volume id associated with this reading position.", "type": "string" }, "kind": { "description": "Resource type for a reading position.", "type": "string" }, "gbTextPosition": { "description": "Position in a volume for text-based content.", "type": "string" }, "gbImagePosition": { "description": "Position in a volume for image-based content.", "type": "string" }, "pdfPosition": { "description": "Position in a PDF file.", "type": "string" }, "epubCfiPosition": { "description": "Position in an EPUB as a CFI.", "type": "string" }, "updated": { "description": "Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).", "type": "string" } } }, "DownloadAccessRestriction": { "id": "DownloadAccessRestriction", "type": "object", "properties": { "deviceAllowed": { "description": "If restricted, whether access is granted for this (user, device, volume).", "type": "boolean" }, "volumeId": { "description": "Identifies the volume for which this entry applies.", "type": "string" }, "maxDownloadDevices": { "description": "If restricted, the maximum number of content download licenses for this volume.", "type": "integer", "format": "int32" }, "reasonCode": { "description": "Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS", "type": "string" }, "message": { "description": "Error/warning message.", "type": "string" }, "nonce": { "description": "Client nonce for verification. Download access and client-validation only.", "type": "string" }, "source": { "description": "Client app identifier for verification. Download access and client-validation only.", "type": "string" }, "signature": { "description": "Response signature.", "type": "string" }, "downloadsAcquired": { "description": "If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).", "type": "integer", "format": "int32" }, "restricted": { "description": "Whether this volume has any download access restrictions.", "type": "boolean" }, "justAcquired": { "description": "If deviceAllowed, whether access was just acquired with this request.", "type": "boolean" }, "kind": { "description": "Resource type.", "type": "string" } } }, "BooksCloudloadingResource": { "id": "BooksCloudloadingResource", "type": "object", "properties": { "volumeId": { "type": "string" }, "title": { "type": "string" }, "author": { "type": "string" }, "processingState": { "type": "string" } } }, "Empty": { "id": "Empty", "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "type": "object", "properties": {} }, "Metadata": { "id": "Metadata", "type": "object", "properties": { "kind": { "description": "Resource type.", "type": "string" }, "items": { "description": "A list of offline dictionary metadata.", "type": "array", "items": { "type": "object", "properties": { "language": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "version": { "type": "string", "format": "int64" }, "download_url": { "type": "string" }, "encrypted_key": { "type": "string" } } } } } }, "FamilyInfo": { "id": "FamilyInfo", "type": "object", "properties": { "kind": { "description": "Resource type.", "type": "string" }, "membership": { "description": "Family membership info of the user that made the request.", "type": "object", "properties": { "isInFamily": { "type": "boolean" }, "role": { "description": "The role of the user in the family.", "type": "string" }, "ageGroup": { "description": "The age group of the user.", "type": "string" }, "acquirePermission": { "description": "Restrictions on user buying and acquiring content.", "type": "string" }, "allowedMaturityRating": { "description": "The maximum allowed maturity rating for the user.", "type": "string" } } } } }, "Layersummary": { "id": "Layersummary", "type": "object", "properties": { "id": { "description": "Unique id of this layer summary.", "type": "string" }, "layerId": { "description": "The layer id for this summary.", "type": "string" }, "volumeId": { "description": "The volume id this resource is for.", "type": "string" }, "contentVersion": { "description": "The content version this resource is for.", "type": "string" }, "annotationTypes": { "description": "The list of annotation types contained for this layer.", "type": "array", "items": { "type": "string" } }, "annotationCount": { "description": "The number of annotations for this layer.", "type": "integer", "format": "int32" }, "dataCount": { "description": "The number of data items for this layer.", "type": "integer", "format": "int32" }, "kind": { "description": "Resource Type", "type": "string" }, "selfLink": { "description": "URL to this resource.", "type": "string" }, "updated": { "description": "Timestamp for the last time an item in this layer was updated. (RFC 3339 UTC date-time format).", "type": "string" }, "volumeAnnotationsVersion": { "description": "The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.", "type": "string" }, "annotationsLink": { "description": "The link to get the annotations for this layer.", "type": "string" }, "annotationsDataLink": { "description": "Link to get data for this annotation.", "type": "string" } } }, "Layersummaries": { "id": "Layersummaries", "type": "object", "properties": { "kind": { "description": "Resource type.", "type": "string" }, "items": { "description": "A list of layer summary items.", "type": "array", "items": { "$ref": "Layersummary" } }, "totalItems": { "description": "The total number of layer summaries found.", "type": "integer", "format": "int32" } } }, "DictionaryAnnotationdata": { "id": "DictionaryAnnotationdata", "type": "object", "properties": { "id": { "description": "Unique id for this annotation data.", "type": "string" }, "layerId": { "description": "The Layer id for this data. *", "type": "string" }, "selfLink": { "description": "URL for this resource. *", "type": "string" }, "annotationType": { "description": "The type of annotation this data is for.", "type": "string" }, "kind": { "description": "Resource Type", "type": "string" }, "encodedData": { "description": "Base64 encoded data for this annotation data.", "type": "string", "format": "byte" }, "updated": { "description": "Timestamp for the last time this data was updated. (RFC 3339 UTC date-time format).", "type": "string" }, "volumeId": { "description": "The volume id for this data. *", "type": "string" }, "data": { "description": "JSON encoded data for this dictionary annotation data. Emitted with name 'data' in JSON output. Either this or geo_data will be populated.", "$ref": "Dictlayerdata" } } }, "Dictlayerdata": { "id": "Dictlayerdata", "type": "object", "properties": { "kind": { "type": "string" }, "dict": { "type": "object", "properties": { "words": { "type": "array", "items": { "type": "object", "properties": { "senses": { "type": "array", "items": { "type": "object", "properties": { "syllabification": { "type": "string" }, "pronunciation": { "type": "string" }, "partOfSpeech": { "type": "string" }, "pronunciationUrl": { "type": "string" }, "definitions": { "type": "array", "items": { "type": "object", "properties": { "definition": { "type": "string" }, "examples": { "type": "array", "items": { "type": "object", "properties": { "text": { "type": "string" }, "source": { "type": "object", "properties": { "url": { "type": "string" }, "attribution": { "type": "string" } } } } } } } } }, "synonyms": { "type": "array", "items": { "type": "object", "properties": { "text": { "type": "string" }, "source": { "type": "object", "properties": { "url": { "type": "string" }, "attribution": { "type": "string" } } } } } }, "conjugations": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "type": { "type": "string" } } } }, "source": { "type": "object", "properties": { "url": { "type": "string" }, "attribution": { "type": "string" } } } } } }, "examples": { "type": "array", "items": { "type": "object", "properties": { "text": { "type": "string" }, "source": { "type": "object", "properties": { "url": { "type": "string" }, "attribution": { "type": "string" } } } } } }, "derivatives": { "type": "array", "items": { "type": "object", "properties": { "text": { "type": "string" }, "source": { "type": "object", "properties": { "url": { "type": "string" }, "attribution": { "type": "string" } } } } } }, "source": { "description": "The words with different meanings but not related words, e.g. \"go\" (game) and \"go\" (verb).", "type": "object", "properties": { "url": { "type": "string" }, "attribution": { "type": "string" } } } } } }, "source": { "description": "The source, url and attribution for this dictionary data.", "type": "object", "properties": { "url": { "type": "string" }, "attribution": { "type": "string" } } } } }, "common": { "type": "object", "properties": { "title": { "description": "The display title and localized canonical name to use when searching for this entity on Google search.", "type": "string" } } } } }, "Annotationsdata": { "id": "Annotationsdata", "type": "object", "properties": { "kind": { "description": "Resource type", "type": "string" }, "items": { "description": "A list of Annotation Data.", "type": "array", "items": { "$ref": "GeoAnnotationdata" } }, "totalItems": { "description": "The total number of volume annotations found.", "type": "integer", "format": "int32" }, "nextPageToken": { "description": "Token to pass in for pagination for the next page. This will not be present if this request does not have more results.", "type": "string" } } }, "GeoAnnotationdata": { "id": "GeoAnnotationdata", "type": "object", "properties": { "id": { "description": "Unique id for this annotation data.", "type": "string" }, "layerId": { "description": "The Layer id for this data. *", "type": "string" }, "selfLink": { "description": "URL for this resource. *", "type": "string" }, "annotationType": { "description": "The type of annotation this data is for.", "type": "string" }, "kind": { "description": "Resource Type", "type": "string" }, "encodedData": { "description": "Base64 encoded data for this annotation data.", "type": "string", "format": "byte" }, "updated": { "description": "Timestamp for the last time this data was updated. (RFC 3339 UTC date-time format).", "type": "string" }, "volumeId": { "description": "The volume id for this data. *", "type": "string" }, "data": { "description": "JSON encoded data for this geo annotation data. Emitted with name 'data' in JSON output. Either this or dict_data will be populated.", "$ref": "Geolayerdata" } } }, "Geolayerdata": { "id": "Geolayerdata", "type": "object", "properties": { "kind": { "type": "string" }, "geo": { "type": "object", "properties": { "viewport": { "description": "The viewport for showing this location. This is a latitude, longitude rectangle.", "type": "object", "properties": { "lo": { "type": "object", "properties": { "longitude": { "type": "number", "format": "double" }, "latitude": { "type": "number", "format": "double" } } }, "hi": { "type": "object", "properties": { "longitude": { "type": "number", "format": "double" }, "latitude": { "type": "number", "format": "double" } } } } }, "countryCode": { "description": "The country code of the location.", "type": "string" }, "mapType": { "description": "The type of map that should be used for this location. EX: HYBRID, ROADMAP, SATELLITE, TERRAIN", "type": "string" }, "zoom": { "description": "The Zoom level to use for the map. Zoom levels between 0 (the lowest zoom level, in which the entire world can be seen on one map) to 21+ (down to individual buildings). See: https: //developers.google.com/maps/documentation/staticmaps/#Zoomlevels", "type": "integer", "format": "int32" }, "cachePolicy": { "description": "The cache policy active for this data. EX: UNRESTRICTED, RESTRICTED, NEVER", "type": "string" }, "longitude": { "description": "The longitude of the location.", "type": "number", "format": "double" }, "latitude": { "description": "The latitude of the location.", "type": "number", "format": "double" }, "boundary": { "description": "The boundary of the location as a set of loops containing pairs of latitude, longitude coordinates.", "type": "array", "items": { "type": "string" } } } }, "common": { "type": "object", "properties": { "lang": { "description": "The language of the information url and description.", "type": "string" }, "snippetUrl": { "description": "The URL for information for this location. Ex: wikipedia link.", "type": "string" }, "snippet": { "description": "The description for this location.", "type": "string" }, "previewImageUrl": { "description": "The URL for the preview image information.", "type": "string" }, "title": { "description": "The display title and localized canonical name to use when searching for this entity on Google search.", "type": "string" } } } } }, "Volumeannotation": { "id": "Volumeannotation", "type": "object", "properties": { "id": { "description": "Unique id of this volume annotation.", "type": "string" }, "selfLink": { "description": "URL to this resource.", "type": "string" }, "layerId": { "description": "The Layer this annotation is for.", "type": "string" }, "annotationType": { "description": "The type of annotation this is.", "type": "string" }, "pageIds": { "description": "Pages the annotation spans.", "type": "array", "items": { "type": "string" } }, "selectedText": { "description": "Excerpt from the volume.", "type": "string" }, "data": { "description": "Data for this annotation.", "type": "string" }, "annotationDataId": { "description": "The annotation data id for this volume annotation.", "type": "string" }, "kind": { "description": "Resource Type", "type": "string" }, "updated": { "description": "Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-time format).", "type": "string" }, "deleted": { "description": "Indicates that this annotation is deleted.", "type": "boolean" }, "volumeId": { "description": "The Volume this annotation is for.", "type": "string" }, "annotationDataLink": { "description": "Link to get data for this annotation.", "type": "string" }, "contentRanges": { "description": "The content ranges to identify the selected text.", "type": "object", "properties": { "contentVersion": { "description": "Content version applicable to ranges below.", "type": "string" }, "gbTextRange": { "description": "Range in GB text format for this annotation for version above.", "$ref": "BooksAnnotationsRange" }, "gbImageRange": { "description": "Range in GB image format for this annotation for version above.", "$ref": "BooksAnnotationsRange" }, "cfiRange": { "description": "Range in CFI format for this annotation for version above.", "$ref": "BooksAnnotationsRange" } } } } }, "BooksAnnotationsRange": { "id": "BooksAnnotationsRange", "type": "object", "properties": { "startPosition": { "description": "The starting position for the range.", "type": "string" }, "startOffset": { "description": "The offset from the starting position.", "type": "string" }, "endPosition": { "description": "The ending position for the range.", "type": "string" }, "endOffset": { "description": "The offset from the ending position.", "type": "string" } } }, "Volumeannotations": { "id": "Volumeannotations", "type": "object", "properties": { "version": { "description": "The version string for all of the volume annotations in this layer (not just the ones in this response). Note: the version string doesn't apply to the annotation data, just the information in this response (e.g. the location of annotations in the book).", "type": "string" }, "kind": { "description": "Resource type", "type": "string" }, "items": { "description": "A list of volume annotations.", "type": "array", "items": { "$ref": "Volumeannotation" } }, "totalItems": { "description": "The total number of volume annotations found.", "type": "integer", "format": "int32" }, "nextPageToken": { "description": "Token to pass in for pagination for the next page. This will not be present if this request does not have more results.", "type": "string" } } }, "Usersettings": { "id": "Usersettings", "type": "object", "properties": { "kind": { "description": "Resource type.", "type": "string" }, "notification": { "type": "object", "properties": { "moreFromAuthors": { "type": "object", "properties": { "opted_state": { "type": "string" } } }, "moreFromSeries": { "type": "object", "properties": { "opted_state": { "type": "string" } } }, "rewardExpirations": { "type": "object", "properties": { "opted_state": { "type": "string" } } }, "priceDrop": { "type": "object", "properties": { "opted_state": { "type": "string" } } }, "matchMyInterests": { "type": "object", "properties": { "opted_state": { "type": "string" } } } } }, "notesExport": { "description": "User settings in sub-objects, each for different purposes.", "type": "object", "properties": { "isEnabled": { "type": "boolean" }, "folderName": { "type": "string" } } } } }, "DownloadAccesses": { "id": "DownloadAccesses", "type": "object", "properties": { "downloadAccessList": { "description": "A list of download access responses.", "type": "array", "items": { "$ref": "DownloadAccessRestriction" } }, "kind": { "description": "Resource type.", "type": "string" } } }, "RequestAccessData": { "id": "RequestAccessData", "type": "object", "properties": { "concurrentAccess": { "description": "A concurrent access response.", "$ref": "ConcurrentAccessRestriction" }, "downloadAccess": { "description": "A download access response.", "$ref": "DownloadAccessRestriction" }, "kind": { "description": "Resource type.", "type": "string" } } }, "ConcurrentAccessRestriction": { "id": "ConcurrentAccessRestriction", "type": "object", "properties": { "deviceAllowed": { "description": "Whether access is granted for this (user, device, volume).", "type": "boolean" }, "timeWindowSeconds": { "description": "Time in seconds for license auto-expiration.", "type": "integer", "format": "int32" }, "maxConcurrentDevices": { "description": "The maximum number of concurrent access licenses for this volume.", "type": "integer", "format": "int32" }, "reasonCode": { "description": "Error/warning reason code.", "type": "string" }, "message": { "description": "Error/warning message.", "type": "string" }, "volumeId": { "description": "Identifies the volume for which this entry applies.", "type": "string" }, "restricted": { "description": "Whether this volume has any concurrent access restrictions.", "type": "boolean" }, "nonce": { "description": "Client nonce for verification. Download access and client-validation only.", "type": "string" }, "source": { "description": "Client app identifier for verification. Download access and client-validation only.", "type": "string" }, "signature": { "description": "Response signature.", "type": "string" }, "kind": { "description": "Resource type.", "type": "string" } } }, "Annotation": { "id": "Annotation", "type": "object", "properties": { "id": { "description": "Id of this annotation, in the form of a GUID.", "type": "string" }, "volumeId": { "description": "The volume that this annotation belongs to.", "type": "string" }, "currentVersionRanges": { "description": "Selection ranges for the most recent content version.", "type": "object", "properties": { "contentVersion": { "description": "Content version applicable to ranges below.", "type": "string" }, "gbImageRange": { "description": "Range in GB image format for this annotation for version above.", "$ref": "BooksAnnotationsRange" }, "gbTextRange": { "description": "Range in GB text format for this annotation for version above.", "$ref": "BooksAnnotationsRange" }, "cfiRange": { "description": "Range in CFI format for this annotation for version above.", "$ref": "BooksAnnotationsRange" }, "imageCfiRange": { "description": "Range in image CFI format for this annotation for version above.", "$ref": "BooksAnnotationsRange" } } }, "pageIds": { "description": "Pages that this annotation spans.", "type": "array", "items": { "type": "string" } }, "selectedText": { "description": "Excerpt from the volume.", "type": "string" }, "beforeSelectedText": { "description": "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.", "type": "string" }, "afterSelectedText": { "description": "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.", "type": "string" }, "data": { "description": "User-created data for this annotation.", "type": "string" }, "kind": { "description": "Resource type.", "type": "string" }, "selfLink": { "description": "URL to this resource.", "type": "string" }, "layerSummary": { "type": "object", "properties": { "remainingCharacterCount": { "description": "Remaining allowed characters on this layer, especially for the \"copy\" layer.", "type": "integer", "format": "int32" }, "allowedCharacterCount": { "description": "Maximum allowed characters on this layer, especially for the \"copy\" layer.", "type": "integer", "format": "int32" }, "limitType": { "description": "Type of limitation on this layer. \"limited\" or \"unlimited\" for the \"copy\" layer.", "type": "string" } } }, "highlightStyle": { "description": "The highlight style for this annotation.", "type": "string" }, "updated": { "description": "Timestamp for the last time this annotation was modified.", "type": "string" }, "created": { "description": "Timestamp for the created time of this annotation.", "type": "string" }, "layerId": { "description": "The layer this annotation is for.", "type": "string" }, "deleted": { "description": "Indicates that this annotation is deleted.", "type": "boolean" }, "clientVersionRanges": { "description": "Selection ranges sent from the client.", "type": "object", "properties": { "gbImageRange": { "description": "Range in GB image format for this annotation sent by client.", "$ref": "BooksAnnotationsRange" }, "gbTextRange": { "description": "Range in GB text format for this annotation sent by client.", "$ref": "BooksAnnotationsRange" }, "cfiRange": { "description": "Range in CFI format for this annotation sent by client.", "$ref": "BooksAnnotationsRange" }, "contentVersion": { "description": "Content version the client sent in.", "type": "string" }, "imageCfiRange": { "description": "Range in image CFI format for this annotation sent by client.", "$ref": "BooksAnnotationsRange" } } } } }, "Annotations": { "id": "Annotations", "type": "object", "properties": { "kind": { "description": "Resource type.", "type": "string" }, "items": { "description": "A list of annotations.", "type": "array", "items": { "$ref": "Annotation" } }, "totalItems": { "description": "Total number of annotations found. This may be greater than the number of notes returned in this response if results have been paginated.", "type": "integer", "format": "int32" }, "nextPageToken": { "description": "Token to pass in for pagination for the next page. This will not be present if this request does not have more results.", "type": "string" } } }, "AnnotationsSummary": { "id": "AnnotationsSummary", "type": "object", "properties": { "layers": { "type": "array", "items": { "type": "object", "properties": { "layerId": { "type": "string" }, "remainingCharacterCount": { "type": "integer", "format": "int32" }, "allowedCharacterCount": { "type": "integer", "format": "int32" }, "limitType": { "type": "string" }, "updated": { "type": "string" } } } }, "kind": { "type": "string" } } }, "Notification": { "id": "Notification", "type": "object", "properties": { "kind": { "description": "Resource type.", "type": "string" }, "title": { "type": "string" }, "body": { "type": "string" }, "iconUrl": { "type": "string" }, "targetUrl": { "type": "string" }, "notification_type": { "type": "string" }, "show_notification_settings_action": { "type": "boolean" }, "pcampaign_id": { "type": "string" }, "dont_show_notification": { "type": "boolean" }, "reason": { "type": "string" }, "doc_type": { "type": "string" }, "doc_id": { "type": "string" }, "crmExperimentIds": { "description": "The list of crm experiment ids.", "type": "array", "items": { "type": "string", "format": "int64" } }, "notificationGroup": { "type": "string" }, "is_document_mature": { "type": "boolean" }, "timeToExpireMs": { "type": "string", "format": "int64" } } }, "Category": { "id": "Category", "type": "object", "properties": { "kind": { "description": "Resource type.", "type": "string" }, "items": { "description": "A list of onboarding categories.", "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "categoryId": { "type": "string" }, "badgeUrl": { "type": "string" } } } } } }, "Volume2": { "id": "Volume2", "type": "object", "properties": { "kind": { "description": "Resource type.", "type": "string" }, "items": { "description": "A list of volumes.", "type": "array", "items": { "$ref": "Volume" } }, "nextPageToken": { "type": "string" } } }, "Discoveryclusters": { "id": "Discoveryclusters", "type": "object", "properties": { "totalClusters": { "type": "integer", "format": "int32" }, "kind": { "description": "Resorce type.", "type": "string" }, "clusters": { "type": "array", "items": { "type": "object", "properties": { "totalVolumes": { "type": "integer", "format": "int32" }, "uid": { "type": "string" }, "title": { "type": "string" }, "subTitle": { "type": "string" }, "volumes": { "type": "array", "items": { "$ref": "Volume" } }, "banner_with_content_container": { "type": "object", "properties": { "imageUrl": { "type": "string" }, "moreButtonUrl": { "type": "string" }, "moreButtonText": { "type": "string" }, "maskColorArgb": { "type": "string" }, "fillColorArgb": { "type": "string" }, "textColorArgb": { "type": "string" } } } } } } } }, "Offers": { "id": "Offers", "type": "object", "properties": { "kind": { "description": "Resource type.", "type": "string" }, "items": { "description": "A list of offers.", "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "artUrl": { "type": "string" }, "items": { "type": "array", "items": { "type": "object", "properties": { "volumeId": { "type": "string" }, "canonicalVolumeLink": { "type": "string" }, "coverUrl": { "type": "string" }, "title": { "type": "string" }, "author": { "type": "string" }, "description": { "type": "string" } } } }, "gservicesKey": { "type": "string" } } } } } }, "Series": { "id": "Series", "type": "object", "properties": { "series": { "type": "array", "items": { "type": "object", "properties": { "seriesId": { "type": "string" }, "title": { "type": "string" }, "imageUrl": { "type": "string" }, "bannerImageUrl": { "type": "string" }, "seriesType": { "type": "string" }, "eligibleForSubscription": { "type": "boolean" }, "isComplete": { "type": "boolean" }, "subscriptionId": { "type": "string" }, "seriesSubscriptionReleaseInfo": { "type": "object", "properties": { "seriesSubscriptionType": { "type": "string" }, "currentReleaseInfo": { "type": "object", "properties": { "releaseNumber": { "type": "string" }, "releaseTime": { "type": "string" }, "currencyCode": { "type": "string" }, "amountInMicros": { "type": "number", "format": "double" } } }, "nextReleaseInfo": { "type": "object", "properties": { "releaseNumber": { "type": "string" }, "releaseTime": { "type": "string" }, "currencyCode": { "type": "string" }, "amountInMicros": { "type": "number", "format": "double" } } }, "cancelTime": { "type": "string" } } }, "seriesFormatType": { "type": "string" } } } }, "kind": { "description": "Resource type.", "type": "string" } } }, "Seriesmembership": { "id": "Seriesmembership", "type": "object", "properties": { "member": { "type": "array", "items": { "$ref": "Volume" } }, "nextPageToken": { "type": "string" }, "kind": { "description": "Resorce type.", "type": "string" } } }, "BooksVolumesRecommendedRateResponse": { "id": "BooksVolumesRecommendedRateResponse", "type": "object", "properties": { "consistency_token": { "type": "string" } } } }, "name": "books", "protocol": "rest", "kind": "discovery#restDescription", "discoveryVersion": "v1", "servicePath": "", "title": "Books API", "ownerName": "Google", "documentationLink": "https://code.google.com/apis/books/docs/v1/getting_started.html", "auth": { "oauth2": { "scopes": { "https://www.googleapis.com/auth/books": { "description": "Manage your books" } } } }, "parameters": { "access_token": { "type": "string", "description": "OAuth access token.", "location": "query" }, "alt": { "type": "string", "description": "Data format for response.", "default": "json", "enum": [ "json", "media", "proto" ], "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], "location": "query" }, "callback": { "type": "string", "description": "JSONP", "location": "query" }, "fields": { "type": "string", "description": "Selector specifying which fields to include in a partial response.", "location": "query" }, "key": { "type": "string", "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "location": "query" }, "oauth_token": { "type": "string", "description": "OAuth 2.0 token for the current user.", "location": "query" }, "prettyPrint": { "type": "boolean", "description": "Returns response with indentations and line breaks.", "default": "true", "location": "query" }, "quotaUser": { "type": "string", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query" }, "upload_protocol": { "type": "string", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query" }, "uploadType": { "type": "string", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "location": "query" }, "$.xgafv": { "type": "string", "description": "V1 error format.", "enum": [ "1", "2" ], "enumDescriptions": [ "v1 error format", "v2 error format" ], "location": "query" } }, "description": "The Google Books API allows clients to access the Google Books repository.", "mtlsRootUrl": "https://books.mtls.googleapis.com/", "revision": "20240214", "batchPath": "batch" }