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:
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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["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. |"]]