- [Resource: Review](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Review)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Review.SCHEMA_REPRESENTATION)
- [Comment](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Comment)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Comment.SCHEMA_REPRESENTATION)
- [UserComment](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#UserComment)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#UserComment.SCHEMA_REPRESENTATION)
- [Timestamp](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Timestamp)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Timestamp.SCHEMA_REPRESENTATION)
- [DeviceMetadata](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#DeviceMetadata)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#DeviceMetadata.SCHEMA_REPRESENTATION)
- [DeveloperComment](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#DeveloperComment)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#DeveloperComment.SCHEMA_REPRESENTATION)
- [Methods](https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#METHODS_SUMMARY)

## Resource: Review

An Android app review.

| JSON representation |
|---|
| ``` { "reviewId": string, "authorName": string, "comments": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Comment`) } ] } ``` |

| Fields ||
|---|---|
| `reviewId` | `string` Unique identifier for this review. |
| `authorName` | `string` The name of the user who wrote the review. |
| `comments[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Comment`)`` A repeated field containing comments for the review. |

## Comment

An entry of conversation between user and developer.

| JSON representation |
|---|
| ``` { // Union field `comment` can be only one of the following: "userComment": { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#UserComment`) }, "developerComment": { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#DeveloperComment`) } // End of list of possible types for union field `comment`. } ``` |

| Fields ||
|---|---|
| Union field `comment`. `comment` can be only one of the following: ||
| `userComment` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#UserComment`)`` A comment from a user. |
| `developerComment` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#DeveloperComment`)`` A comment from a developer. |

## UserComment

User entry from conversation between user and developer.

| JSON representation |
|---|
| ``` { "text": string, "lastModified": { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Timestamp`) }, "starRating": integer, "reviewerLanguage": string, "device": string, "androidOsVersion": integer, "appVersionCode": integer, "appVersionName": string, "thumbsUpCount": integer, "thumbsDownCount": integer, "deviceMetadata": { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#DeviceMetadata`) }, "originalText": string } ``` |

| Fields ||
|---|---|
| `text` | `string` The content of the comment, i.e. review body. In some cases users have been able to write a review with separate title and body; in those cases the title and body are concatenated and separated by a tab character. |
| `lastModified` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Timestamp`)`` The last time at which this comment was updated. |
| `starRating` | `integer` The star rating associated with the review, from 1 to 5. |
| `reviewerLanguage` | `string` Language code for the reviewer. This is taken from the device settings so is not guaranteed to match the language the review is written in. May be absent. |
| `device` | `string` Codename for the reviewer's device, e.g. klte, flounder. May be absent. |
| `androidOsVersion` | `integer` Integer Android SDK version of the user's device at the time the review was written, e.g. 23 is Marshmallow. May be absent. |
| `appVersionCode` | `integer` Integer version code of the app as installed at the time the review was written. May be absent. |
| `appVersionName` | `string` String version name of the app as installed at the time the review was written. May be absent. |
| `thumbsUpCount` | `integer` Number of users who have given this review a thumbs up. |
| `thumbsDownCount` | `integer` Number of users who have given this review a thumbs down. |
| `deviceMetadata` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#DeviceMetadata`)`` Information about the characteristics of the user's device. |
| `originalText` | `string` Untranslated text of the review, where the review was translated. If the review was not translated this is left blank. |

## Timestamp

A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970.

| JSON representation |
|---|
| ``` { "seconds": string, "nanos": integer } ``` |

| Fields ||
|---|---|
| `seconds` | `string (https://developers.google.com/discovery/v1/type-format format)` Represents seconds of UTC time since Unix epoch. |
| `nanos` | `integer` Non-negative fractions of a second at nanosecond resolution. Must be from 0 to 999,999,999 inclusive. |

## DeviceMetadata

Characteristics of the user's device.

| JSON representation |
|---|
| ``` { "productName": string, "manufacturer": string, "deviceClass": string, "screenWidthPx": integer, "screenHeightPx": integer, "nativePlatform": string, "screenDensityDpi": integer, "glEsVersion": integer, "cpuModel": string, "cpuMake": string, "ramMb": integer } ``` |

| Fields ||
|---|---|
| `productName` | `string` Device model name (e.g. Droid) |
| `manufacturer` | `string` Device manufacturer (e.g. Motorola) |
| `deviceClass` | `string` Device class (e.g. tablet) |
| `screenWidthPx` | `integer` Screen width in pixels |
| `screenHeightPx` | `integer` Screen height in pixels |
| `nativePlatform` | `string` Comma separated list of native platforms (e.g. "arm", "arm7") |
| `screenDensityDpi` | `integer` Screen density in DPI |
| `glEsVersion` | `integer` OpenGL version |
| `cpuModel` | `string` Device CPU model, e.g. "MSM8974" |
| `cpuMake` | `string` Device CPU make, e.g. "Qualcomm" |
| `ramMb` | `integer` Device RAM in Megabytes, e.g. "2048" |

## DeveloperComment

Developer entry from conversation between user and developer.

| JSON representation |
|---|
| ``` { "text": string, "lastModified": { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Timestamp`) } } ``` |

| Fields ||
|---|---|
| `text` | `string` The content of the comment, i.e. reply body. |
| `lastModified` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/reviews#Timestamp`)`` The last time at which this comment was updated. |

| ## Methods ||
|---|---|
| ### `https://developers.google.com/android-publisher/api-ref/rest/v3/reviews/get` | Gets a single review. |
| ### `https://developers.google.com/android-publisher/api-ref/rest/v3/reviews/list` | Lists all reviews. |
| ### `https://developers.google.com/android-publisher/api-ref/rest/v3/reviews/reply` | Replies to a single review, or updates an existing reply. |

## Error codes

The operations of this resource, return the following HTTP error codes:

| Error code | Reason | Description | Resolution |
|---|---|---|---|