Method: reviews.reply
Stay organized with collections
Save and categorize content based on your preferences.
Replies to a single review, or updates an existing reply.
HTTP request
POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/reviews/{reviewId}:reply
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters |
packageName |
string
Package name of the app.
|
reviewId |
string
Unique identifier for a review.
|
Request body
The request body contains data with the following structure:
JSON representation |
{
"replyText": string
} |
Fields |
replyText |
string
The text to set as the reply. Replies of more than approximately 350 characters will be rejected. HTML tags will be stripped.
|
Response body
Response on status of replying to a review.
If successful, the response body contains data with the following structure:
Fields |
result |
object (ReviewReplyResult )
The result of replying/updating a reply to review.
|
Authorization scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/androidpublisher
ReviewReplyResult
The result of replying/updating a reply to review.
JSON representation |
{
"replyText": string,
"lastEdited": {
object (Timestamp )
}
} |
Fields |
replyText |
string
The reply text that was applied.
|
lastEdited |
object (Timestamp )
The time at which the reply took effect.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-05-21 UTC.
[null,null,["Last updated 2025-05-21 UTC."],[[["\u003cp\u003eReplies to a single review or updates an existing reply using an HTTP POST request.\u003c/p\u003e\n"],["\u003cp\u003eRequires the \u003ccode\u003epackageName\u003c/code\u003e, \u003ccode\u003ereviewId\u003c/code\u003e, and \u003ccode\u003ereplyText\u003c/code\u003e to process the request.\u003c/p\u003e\n"],["\u003cp\u003eThe response provides the \u003ccode\u003ereplyText\u003c/code\u003e and \u003ccode\u003elastEdited\u003c/code\u003e timestamp of the reply.\u003c/p\u003e\n"],["\u003cp\u003eUtilizes the \u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e authorization scope.\u003c/p\u003e\n"]]],["This outlines how to reply to or update a reply to an app review using a POST request. The request URL is structured with `packageName` and `reviewId` path parameters. The request body is a JSON object with the `replyText` field. Successful responses return a JSON object with a `result` field, which includes the `replyText` and `lastEdited` timestamp. Authorization requires the `https://www.googleapis.com/auth/androidpublisher` OAuth scope.\n"],null,["# Method: reviews.reply\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n - [JSON representation](#body.ReviewsReplyResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [ReviewReplyResult](#ReviewReplyResult)\n - [JSON representation](#ReviewReplyResult.SCHEMA_REPRESENTATION)\n- [Try it!](#try-it)\n\nReplies to a single review, or updates an existing reply.\n\n### HTTP request\n\n`POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/reviews/{reviewId}:reply`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|---------------|------------------------------------------|\n| `packageName` | `string` Package name of the app. |\n| `reviewId` | `string` Unique identifier for a review. |\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|---------------------------------|\n| ``` { \"replyText\": string } ``` |\n\n| Fields ||\n|-------------|----------------------------------------------------------------------------------------------------------------------------------------|\n| `replyText` | `string` The text to set as the reply. Replies of more than approximately 350 characters will be rejected. HTML tags will be stripped. |\n\n### Response body\n\nResponse on status of replying to a review.\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|-------------------------------------------------------------------------------------------------------|\n| ``` { \"result\": { object (/android-publisher/api-ref/rest/v3/reviews/reply#ReviewReplyResult) } } ``` |\n\n| Fields ||\n|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `result` | `object (`[ReviewReplyResult](/android-publisher/api-ref/rest/v3/reviews/reply#ReviewReplyResult)`)` The result of replying/updating a reply to review. |\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`\n\nReviewReplyResult\n-----------------\n\nThe result of replying/updating a reply to review.\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------|\n| ``` { \"replyText\": string, \"lastEdited\": { object (/android-publisher/api-ref/rest/v3/reviews#Timestamp) } } ``` |\n\n| Fields ||\n|--------------|-------------------------------------------------------------------------------------------------------------------------|\n| `replyText` | `string` The reply text that was applied. |\n| `lastEdited` | `object (`[Timestamp](/android-publisher/api-ref/rest/v3/reviews#Timestamp)`)` The time at which the reply took effect. |"]]