update_store_listing
Update an app's main store listing (title, short/full description) for one language using Play Console's own web session. Does NOT need create_edit/commit_edit — it patches the listing directly. On an app whose language has no listing entry yet this CREATES the entry (verified live), so it is the first call before attaching any graphic. Note the PATCH replaces the whole entry for that language, so title, short_description and full_description must all be supplied together.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | App title for this language. | |
| language | Yes | BCP-47 language code for the listing, e.g. en-US. | |
| save_mode | No | "save" COMMITS the listing (what Play Console's own Save button does); "draft" (the DEFAULT) writes only the draft copy. **Pass "save" for any listing that has to count toward release.** With the default, the app dashboard's `store_listings` task never completes no matter how complete the content is, and send_app_for_review stays blocked - measured live, and no amount of content or validation_mode=full fixes it. "draft" is for staging text you are not ready to commit. | |
| play_app_id | Yes | Numeric Play app id from the Play Console URL (.../app/<this>/...). NOT the package name. | |
| developer_id | Yes | Numeric Play Console developer id (from the Play Console URL). | |
| validation_mode | No | "draft" (default) or "full". Only applies when save_mode is "draft" - the committed endpoint rejects the validationMode query param outright ("Cannot bind query parameter"). Does NOT make the dashboard task complete; only save_mode="save" does that. | |
| full_description | Yes | Full description for this language. | |
| store_listing_id | No | Always "0" — the main store listing. (It is NOT the long number in the Play Console store-listing URL; that is the app id. "0" is what Play Console's own PATCH sends and it is what creates the listing on an app that has none.) Defaults to 0. | |
| short_description | Yes | Short description for this language. | |
| google_account_email | Yes | The signed-in Google account email that owns this Play Console developer account. Call list_accounts first and confirm with the user — do not guess. | |
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |