Storevisor

API reference

Every Storevisor tool over REST: the same 35 tools, wording and rules as the MCP server. Connect your stores first (guides); a tool whose store is not connected says so and changes nothing.

Authentication

  • Create a workspace key on the MCP & API page (read, or read and write; it is shown once) and send it as Authorization: Bearer sws_….
  • An OAuth access token this host issued for its MCP server works the same way.
  • A key reaches one workspace. Revoking it on the MCP & API page stops it at once.
  • A read key never reaches a write tool; a viewer's key, or any key in a workspace whose owner turned AI changes off, is read-only.

Request and response

POST https://storevisor.devino.ca/api/tools/<tool name> with the tool's arguments as one JSON object (an empty body or {} when it needs none).

curl -X POST https://storevisor.devino.ca/api/tools/release_status \
  -H "Authorization: Bearer sws_…" \
  -H "Content-Type: application/json" \
  -d '{}'
  • 200: the tool's own JSON answer.
  • 400: the tool refused ({"code": …, "message": …}), the arguments did not match its schema, or the body was not JSON.
  • 401, 404, 413, 429, 502, 503: refused before the tool ran. Every code is on Error codes.

The machine-readable form of this page is https://storevisor.devino.ca/openapi.json (OpenAPI 3.1), generated from the same tool definitions the MCP server lists.

Writes: preview first, then confirm

  1. Call the write tool with its arguments. Nothing reaches the store: the answer is a preview (the diff or plan) with a confirm_token (for example play_rollout_update).
  2. Repeat the same call with "apply": true and "confirmToken": "<the token>". When the preview returned commit_args, merge them into the arguments: they pin the store state the preview saw, and a store that changed since is refused.
  3. The token is single use, valid 10 minutes, and bound to the key or connection, the tool and those exact arguments.
  4. A preview with "status": "rejected" carries no token and cannot be committed.

Limits

  • 60 calls a minute per key or AI connection, MCP and API together. Over it: 429 rate_limited with a Retry-After header (seconds) and retry_after_s in the body.
  • Request bodies up to 256 KB (413 above).
  • A call runs at most 15 minutes (502 after). When every worker is busy: 503 with Retry-After: 5.
  • Answers are capped (at most 200 rows per read, 500 for sql_query where offered).

Tools (35)

apple_listing_get · apple_listing_update · apple_cpp_list · apple_cpp_create · apple_screenshots_get · apple_screenshot_delete · apple_screenshots_copy · apple_release_status · apple_cloud_workflow_update · apple_cloud_build_create · apple_version_submit · apple_version_release · apple_submission_cancel · apple_builds_list · apple_testflight_overview · apple_version_create · apple_version_build_attach · apple_app_setup_update · play_listing_get · play_listing_locales · play_listing_update · play_app_details_get · play_app_details_update · play_data_safety_update · play_release_status · play_release_promote · play_rollout_update · ms_listing_get · ms_release_status · ms_listing_update · ms_submission_create · ms_submission_commit · ms_submission_delete · release_status · review_watch_status

apple_listing_get read

Apple: read the live App Store listing. Reads the CURRENT App Store listing for an app straight from App Store Connect (not the warehouse cache): name, subtitle, keywords, description, promotional text, what's new, URLs, and a screenshot-set summary per…

ArgumentTypeWhat it is
app requiredstringapp slug, Apple app id, or app name
localestringe.g. en-US, en-CA. Omit for all locales.
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"default: iOS preferred

apple_listing_update write

Apple: update App Store listing metadata (gated). Proposes a listing metadata change. ALWAYS snapshots the current listing first and records the change in listing_changes.

ArgumentTypeWhat it is
app requiredstring
locale requiredstringexact ASC locale, e.g. en-US
fields requiredobjectonly the fields you want to change
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"whose version the version fields land on; default: iOS preferred
rationale requiredstringwhy this change — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

apple_cpp_list read

Apple: list custom product pages. Lists App Store custom product pages (CPPs) for an app, with their versions and states.

ArgumentTypeWhat it is
app requiredstring

apple_cpp_create write

Apple: create a custom product page (gated). Creates a custom product page with one localization (promotional text only — screenshots are out of scope in this version).

ArgumentTypeWhat it is
app requiredstring
name requiredstringinternal CPP name (not customer visible)
locale requiredstring
promotionalText requiredstringmax 170 chars
rationale requiredstring
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

apple_screenshots_get read

Apple: read App Store screenshot sets. Reads the screenshot sets live from App Store Connect for the EDITABLE App Store version when one exists (that is the only surface a write can touch), otherwise the live version.

ArgumentTypeWhat it is
app requiredstringapp slug, Apple app id, or app name
localestringe.g. en-US. Omit for all locales on the version.
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"whose version to read (each platform has its own). Omit = every platform, iOS preferred

apple_screenshot_delete write

Apple: delete an App Store screenshot (gated). Deletes one screenshot from a display-type set on the EDITABLE App Store version's localization.

ArgumentTypeWhat it is
app requiredstring
locale requiredstring
displayType required"APP_IPHONE_67" | "APP_IPHONE_65" | "APP_IPHONE_61" | "APP_IPHONE_58" | "APP_IPHONE_55" | "APP_IPHONE_47" | "APP_IPHONE_40" | "APP_IPHONE_35" | …
screenshotId requiredstringappScreenshots resource id from apple_screenshots_get
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"default = the display type's own; a mismatch is refused
rationale requiredstring
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

apple_screenshots_copy write

Apple: copy one localization's screenshots to another (gated). Copies the screenshot sets of `from_locale` onto `to_locale` of the SAME platform's EDITABLE App Store version (every display type, or only `display_types`).

ArgumentTypeWhat it is
app requiredstring
from_locale requiredstringthe localization to copy FROM, e.g. en-US
to_locale requiredstringthe localization to copy TO, e.g. en-CA (must already exist on the editable version)
display_typesarray of "APP_IPHONE_67" | "APP_IPHONE_65" | "APP_IPHONE_61" | "APP_IPHONE_58" | "APP_IPHONE_55" | "APP_IPHONE_47" | "APP_IPHONE_40" | "APP_IPHONE_35" | …only these sets; default every set of from_locale on the platform
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"default = the display types' own platform, else IOS
replace_existingbooleandelete the target's screenshots of each copied display type first (default: refuse when it has any)
expect_editable_version_idstringfrom commit_args; required on the commit, refused on mismatch
expect_source_idsarray of stringfrom commit_args: <displayType>:<id> of every source shot; required on the commit, refused on mismatch
expect_target_idsarray of stringfrom commit_args: <displayType>:<id> of every target shot replaced ([] = none); required on the commit, refused on mismatch
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

apple_release_status read

Apple: release state (live / in review / waiting build). Reads the app's release pipeline live from App Store Connect: every App Store version (versionString, appVersionState, platform, createdDate, releaseType) with its attached build (version, processingState,…

ArgumentTypeWhat it is
app requiredstringapp slug, Apple app id, or app name

apple_cloud_workflow_update write

Apple: make an Xcode Cloud workflow archive a platform for the App Store (gated). Adds an APP_STORE_ELIGIBLE ARCHIVE action for a platform to an Xcode Cloud workflow (default "Release (tag)"), or lifts an existing archive of that platform to APP_STORE_ELIGIBLE — the way to get macOS builds of a Mac…

ArgumentTypeWhat it is
app requiredstring
platform required"MACOS" | "IOS" | "VISIONOS"the platform to archive for the App Store
workflowstringworkflow id or exact name; default "Release (tag)"
expect_workflow_idstringfrom commit_args; required on the commit
expect_actionsstringfrom commit_args: the action list the preview saw; required on the commit
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

apple_cloud_build_create write

Apple: start an Xcode Cloud release build (gated). Starts ONE Xcode Cloud build of the app's store-eligible workflow on a branch or tag — the way to get a build App Review accepts without a Mac.

ArgumentTypeWhat it is
app requiredstring
git_reference requiredstringbranch or tag name to build, e.g. main or v1.2.0
workflowstringworkflow id or exact name; default = the one store-eligible workflow, preferring "Release (tag)"
expect_workflow_idstringfrom commit_args: the workflow the preview resolved; required on the commit
expect_git_reference_idstringfrom commit_args: the git reference the preview resolved; required on the commit
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

apple_version_submit write

Apple: submit a prepared version for review (gated). Submits an EXISTING App Store version for App Review — attaches nothing new.

ArgumentTypeWhat it is
app requiredstring
version_string requiredstringexact versionString of the prepared App Store version, e.g. 3.2.0
expect_build_idstringthe build id the preview showed (from commit_args); required on the commit, refused on mismatch
with_productsbooleanalso submit every READY_TO_SUBMIT subscription / in-app purchase with this version (first products must ride with a version)
expect_productsarray of stringfrom commit_args (with_products only): the kind:id list of products the preview saw; required on the commit, refused on mismatch
expect_submission_idstringfrom commit_args (resubmission only): the UNRESOLVED_ISSUES submission id the preview saw; required on the commit, refused on mismatch
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"which platform's version to submit when the same versionString exists on several (default IOS)
expect_draft_submission_idstringfrom commit_args: the empty never-submitted draft submission the preview chose to reuse (Apple will not cancel one); refused on mismatch
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

apple_version_release write

Apple: release an approved version that waits on a manual release (gated). Releases an App Store version that App Review has ALREADY approved and that waits on the developer (appVersionState PENDING_DEVELOPER_RELEASE — a version created with release_type MANUAL).

ArgumentTypeWhat it is
app requiredstringapp slug, Apple app id, or app name
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"default IOS — each platform's version is released separately
expect_version_idstringfrom commit_args: the pending version id the preview showed; required on the commit, refused on mismatch
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

apple_submission_cancel write

Apple: withdraw a version from App Review / cancel a review submission (gated). Cancels ONE open review submission of a platform — App Store Connect's "Remove from Review" / "Cancel Submission" — with PATCH /v1/reviewSubmissions/{id} {canceled:true}.

ArgumentTypeWhat it is
app requiredstringapp slug, Apple app id, or app name
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"default IOS — review submissions are per platform
submission_idstringthe review submission to cancel (apple_release_status review_submissions); default = the one open on the platform
expect_submission_idstringfrom commit_args: the submission the preview chose; required on the commit, refused on mismatch
expect_statestringfrom commit_args: its state when the preview ran; required on the commit, refused on mismatch
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

apple_builds_list read

Apple: list TestFlight builds (newest first). Lists the newest TestFlight builds for an app live from App Store Connect: id, build_number (CFBundleVersion), pre_release_version (the marketing version), platform, processing_state, uploaded_at, expired,…

ArgumentTypeWhat it is
app requiredstringapp slug, Apple app id, or app name
limitinteger 1-25newest N builds, default 10
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"default IOS

apple_testflight_overview read

Apple: TestFlight overview — beta groups, testers, builds in testing, tester feedback. Reads an app's TestFlight state live from App Store Connect — the truthful, citable answer to App Review's "what beta testing did you do?": every beta group (name, internal / external, public link enabled + URL + limit,…

ArgumentTypeWhat it is
app requiredstringapp slug, Apple app id, or app name
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"only this platform's builds; default = every platform the app has builds for
builds_per_platforminteger 1-25newest N builds per platform, default 5
feedback_limitinteger 1-50newest N feedback items of each kind, default 20

apple_version_create write

Apple: create the next App Store version (gated). Creates the NEXT App Store version (PREPARE_FOR_SUBMISSION) for a platform and optionally attaches a TestFlight build to it (ids from apple_builds_list).

ArgumentTypeWhat it is
app requiredstring
version_string requiredstringthe marketing version to create, e.g. 1.4.0
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"default IOS
build_idstringTestFlight build id to attach right after creating (from apple_builds_list)
copyrightstringe.g. 2026 Example Inc.
release_type"MANUAL" | "AFTER_APPROVAL" | "SCHEDULED"MANUAL | AFTER_APPROVAL | SCHEDULED
earliest_release_datestringISO 8601; required with (and only with) release_type SCHEDULED
expect_editable_version_idstring | nullfrom commit_args: null = the preview saw no editable version for the platform; required on the commit, refused on mismatch
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

apple_version_build_attach write

Apple: attach a TestFlight build to the editable version (gated). Attaches (or replaces) the TestFlight build on the EDITABLE App Store version of a platform (PREPARE_FOR_SUBMISSION / *_REJECTED) — the step between apple_version_create and apple_version_submit.

ArgumentTypeWhat it is
app requiredstring
build_id requiredstringTestFlight build id to attach (from apple_builds_list)
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"default IOS
expect_build_idstring | nullfrom commit_args: the build id attached when the preview ran (null = none); required on the commit when a build is attached, refused on mismatch
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

apple_app_setup_update write

Apple: first-release App Store setup — content rights, free price, privacy URL, copyright, App Review details (gated). Sets the first-release fields App Review refuses a submission without, through App Store Connect's public API: content_rights_declaration (PATCH /v1/apps), price: "free" (POST /v1/appPriceSchedules, base territory USA,…

ArgumentTypeWhat it is
app requiredstringapp slug, Apple app id, or app name
platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"default IOS — the platform whose editable version copyright / review_detail land on
version_stringstringthe editable version to target; default the platform's editable version
content_rights_declaration"DOES_NOT_USE_THIRD_PARTY_CONTENT" | "USES_THIRD_PARTY_CONTENT"does the app show, include or access third-party content?
pricestring"free" only — anything else is refused (paid pricing is an owner decision)
privacy_policy_urlstring (uri)https URL of the privacy policy
privacy_policy_localesarray of stringonly these appInfo locales; default every locale of the editable appInfo
copyrightstring, ≤ 200 charse.g. "© 2026 14930398 Canada Inc."
review_detailobjectApp Review contact + sign-in details for the version
review_detail_from_platform"IOS" | "MAC_OS" | "TV_OS" | "VISION_OS"instead of review_detail: copy the App Review details (demo password included, never shown) from this other platform's newest version
review_detail_from_appstringinstead of review_detail: copy ONLY the App Review contact (first/last name, phone, e-mail) from this other app's newest version — never its demo account or notes
expect_editable_version_idstring | nullfrom commit_args: the editable version id the preview saw (null = none); required on the commit, refused on mismatch
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

play_listing_get read

Play: get store listing. Read a Google Play store listing live from androidpublisher (title, short/full description, video, image counts per type).

ArgumentTypeWhat it is
app requiredstringapp slug or Play package name
localestringBCP-47 Play language, e.g. en-US. Omit for all locales.

play_listing_locales read

Play: list every localized store listing. Every localization of a Google Play store listing, live from androidpublisher edits.listings.list (language, title, shortDescription, fullDescription, video + character counts against Play's limits).

ArgumentTypeWhat it is
app requiredstringapp slug or Play package name

play_listing_update write

Play: update store listing, or add a new language (gated). Change Play listing text, or CREATE a localization by passing a `locale` the listing does not have yet together with `create_locale: true` (then title, shortDescription and fullDescription are all required — Play…

ArgumentTypeWhat it is
app requiredstring
locale requiredstringPlay language, e.g. en-US (case-sensitive). A language the listing does not have yet is CREATED only with create_locale: true.
fields requiredobjectonly the fields you want to change (all three text fields when creating a new locale)
keep_existing_fieldsbooleandefault true: fields you do not pass keep their live value. false: the localization becomes exactly the fields you pass.
create_localebooleandefault false: a locale the listing does not have is REFUSED. true: create it (all three text fields required).
rationale requiredstringwhy this change is being made — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

play_app_details_get read

Play: contact details + default language. The app's store contact details (contactEmail, contactPhone, contactWebsite) and default language, live from androidpublisher edits.details through a throwaway edit that is always deleted.

ArgumentTypeWhat it is
app requiredstringapp slug or Play package name

play_app_details_update write

Play: set contact details / default language (gated). Sets the store contact e-mail, phone, website and/or default language (a Play dashboard setup task) through edits.details.

ArgumentTypeWhat it is
app requiredstring
fields requiredobject
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

play_data_safety_update write

Play: replace the Data safety declaration (gated). Replaces the app's whole Data safety declaration through applications.dataSafety, using the CSV format Play Console exports (App content → Data safety → Export to CSV; columns Question ID / Response ID / Response value…

ArgumentTypeWhat it is
app requiredstring
file_pathstringnot usable in the cloud (a server directory); pass csv instead
csvstring, ≤ 200000 charsthe CSV text itself
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

play_release_status read

Play: release state per track. Reads every Play track (internal, alpha, beta, production, custom) live from androidpublisher with its releases: status (draft | inProgress | halted | completed), name, versionCodes, userFraction for staged rollouts,…

ArgumentTypeWhat it is
app requiredstringapp slug or Play package name

play_release_promote write

Play: promote a release to another track (gated). Promotes the latest completed (else in-progress) release of `from_track` onto `to_track` via edits.tracks.update + edits.commit.

ArgumentTypeWhat it is
app requiredstring
from_track requiredstringinternal | alpha | beta | production | a custom track name
to_track requiredstring
user_fractionnumber 0-1staged rollout fraction, e.g. 0.1 for 10%; omit or 1 = full release
release_notesobject{ 'en-US': 'What changed' } — replaces the source release's notes
replace_draftbooleantrue = discard a never-rolled DRAFT on to_track that carries the same version codes and put the promoted release there instead (that draft's notes are lost); without it such a draft is a refusal, and the flag with no such draft is refused too
expect_version_codesarray of integer -9007199254740991-9007199254740991the version codes the preview showed (from commit_args); required on the commit, refused on mismatch
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

play_rollout_update write

Play: change or halt a staged rollout (gated). Moves a track's staged rollout: `user_fraction` raises it (Play never lets a fraction go down; 1 completes the rollout), `halt: true` halts it.

ArgumentTypeWhat it is
app requiredstring
track requiredstringthe track carrying the staged rollout, usually production
user_fractionnumber 0-1new fraction, must be above the current one; 1 = complete the rollout
haltbooleantrue = halt the rollout (mutually exclusive with user_fraction)
expect_version_codesarray of integer -9007199254740991-9007199254740991the version codes the preview showed (from commit_args); required on the commit, refused on mismatch
rationale requiredstringwhy — stored in the audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

ms_listing_get read

Microsoft Store listing (live). Live Partner Center listing for an app: description, short description, features, search terms, image slots.

ArgumentTypeWhat it is
app requiredstringapp slug, app name, or Microsoft product id
langstringlisting locale, default en-us

ms_release_status read

Microsoft Store release state (live). Live Partner Center release state for an app: the last published submission and the pending one — status, statusDetails (errors, warnings, certification reports), targetPublishMode, and every package with its version,…

ArgumentTypeWhat it is
app requiredstringapp slug, app name, or Microsoft product id

ms_listing_update write

Microsoft Store listing update (gated write). Propose a Microsoft Store listing change.

ArgumentTypeWhat it is
app requiredstringapp slug, app name, or Microsoft product id
lang requiredstringlisting locale, e.g. en-us
fields requiredobjectonly the listing fields you want changed
rationale requiredstringwhy this change — stored in the listing_changes audit log
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

ms_submission_create write

Microsoft Store: create a pending submission (gated). Creates a new pending submission on an app, cloned from the last published one (POST /submissions) — the first step of a release: create, upload the package (package upload is not in the cloud yet), then…

ArgumentTypeWhat it is
app requiredstringapp slug, app name, or Microsoft product id
rationalestringwhy — stored in the audit log; defaults to a per-tool line naming the app + submission so commit_args always re-validates
expect_pending_submission_idstring | nullfrom the preview's commit_args: null = no pending submission existed; required on the commit
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

ms_submission_commit write

Microsoft Store: commit the pending submission (gated). Commits the app's pending submission (POST /submissions/{id}/commit): Partner Center then runs pre-processing and certification, and publishes per the submission's targetPublishMode (a Manual mode still needs a human…

ArgumentTypeWhat it is
app requiredstringapp slug, app name, or Microsoft product id
rationalestringwhy — stored in the audit log; defaults to a per-tool line naming the app + submission so commit_args always re-validates
expect_submission_idstringthe pending submission id the preview showed (from commit_args); required on the commit, refused on mismatch
expect_statusstringthe submission status the preview showed (PendingCommit); required on the commit, refused on mismatch
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

ms_submission_delete write

Microsoft Store: delete the pending submission (gated). Deletes the app's pending submission (DELETE /submissions/{id}) — the last published submission is untouched.

ArgumentTypeWhat it is
app requiredstringapp slug, app name, or Microsoft product id
rationalestringwhy — stored in the audit log; defaults to a per-tool line naming the app + submission so commit_args always re-validates
expect_submission_idstringthe pending submission id the preview showed (from commit_args); required on the commit, refused on mismatch
applybooleantrue = commit for real. Requires the confirmToken returned by the preceding dry-run of this exact call.
confirmTokenstringThe confirm_token from the dry-run preview (single use, 10-minute TTL).

release_status read

Release state across stores (live). One compact row per app x store, read live: live_version, pending_version, pending_state, latest_build, blocked_reason (null when nothing waits on you).

ArgumentTypeWhat it is
appstringapp slug, app name, or a store id; omit for every app
storesarray of "apple" | "play" | "microsoft"restrict to these stores (default: every configured store)

review_watch_status read

App Review check state (no store call). What this workspace's App Review check saw on its last run, read from its saved state: NO store call.

ArgumentTypeWhat it is
appstringapp slug to narrow to; omit for every app