send_app_for_review
Send the app's pending changes to Google Play review — the API behind Play Console's "Send app for review". OUTWARD-FACING AND NOT FREELY REVERSIBLE: for an app that has never shipped this is the submission that decides whether it can be published at all. DRY-RUN BY DEFAULT — it reports what would be sent and sends nothing until commit="true". Confirm with the user first, exactly like start_rollout. It fetches the publishing page's continuation token itself and round-trips it, which is what Play actually requires; the dry run also reports Play's own blocked flag, the best machine-readable "can this be sent?" in this capture. A FAILED_PRECONDITION here is NOT reliably a setup-task problem — that was wrong for a whole session. Read the dry run's publishing_page block and Play Console's Publishing overview before blaming the app's state.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| commit | No | "true" actually submits. Omit or "false" for a dry run. Never pass "true" without the user's explicit agreement in this conversation. | |
| 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). | |
| include_sections | No | Comma-separated non-track sections to include: store_listing, store_settings, app_content, preregistration, advanced_distribution. Mirrors the Publishing overview's own groups - include each group that shows pending changes. | |
| review_behaviour | No | "review_immediately" (default) or "queue_for_review". | |
| include_track_ids | No | Comma-separated numeric track ids whose pending changes this submission covers (AppChangesToInclude.trackIds). Play Console always sends this selection; with neither this nor a section list the server has an empty selection and answers FAILED_PRECONDITION. To submit everything pending, pass every track that has pending changes on the Publishing overview. | |
| number_of_changes | No | The number of pending changes being submitted, exactly as Play Console's own "Submit N changes for review" button reads it. REQUIRED IN PRACTICE: Play treats this as a confirmation count and answers FAILED_PRECONDITION when it is missing, even when the Console's own button is enabled on the same pending set. Read N from the Publishing overview; do not guess. | |
| 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. | |
| publishing_behaviour | No | "automatic" (default — changes go live as soon as review passes) or "manual" (hold for a manual go-live). Confirm which the user wants. | |
| send_session_headers | No | Diagnostic only. "true" also sends the Console's own X-Play-Console-Session-Id and Accept-Language headers. Measured 2026-10-28: these are NOT required - the submission succeeds without them. Leave unset unless a write is refused for a reason the payload cannot explain. |