Tool reference

The 55 tools a standard App Listing Agent account can use over MCP. This page is generated from the same definitions the server returns from tools/list.

Onboarding and readiness

get_onboarding_status

Returns the connected account's projects, store connection status, approval policy, onboarding progress and the suggested next step.

Key scope: readApproval: Not needed (read-only)No usage charge
ParameterTypeRequiredDescription
projectIdstringNoProject ID selected during agent authorization

list_importable_apps

Lists the apps available through the saved App Store Connect account. Missing credentials are configured through a secure browser connection flow, not in chat.

Key scope: readApproval: Not needed (read-only)No usage charge

create_onboarding_project

Creates or imports one iOS or Android project. An app that already has a store-console record, even if unpublished, is imported as existing; an app without one is created as a local pre-store project. A request ID makes retries idempotent.

Key scope: writeApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
requestIdstringYesStable unique request ID used to make retries idempotent
namestringYesCustomer-facing app/project name
storeTypestringYesTarget store platformOne of: ios, android
storeRecordStatusstringYesWhether the app already exists in App Store Connect/Play Console, even if unpublishedOne of: existing, not_created
appStoreAppIdstringNoNumeric App Store app ID for iOS
playStorePackagestringNoGoogle Play package name for Android
primaryLocalestringNoPrimary locale, default en-US

attach_onboarding_store_record

Links an existing App Store Connect or Google Play Console record to a local pre-store project. Repeating the same identifier is idempotent.

Key scope: writeApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesExisting App Listing Agent pre-store project ID
appStoreAppIdstringNoNumeric App Store app ID for an iOS project
playStorePackagestringNoGoogle Play package name for an Android project

Returns a secure browser link for connecting App Store Connect or Google Play credentials, plus the current connection state. Credentials are entered in the browser, not in chat.

Key scope: readApproval: Not needed (read-only)No usage charge

set_approval_policy

Changes the account's approval policy (read only, drafts with approval, or publishing with approval). The change takes effect only after the account owner approves it in App Listing Agent.

Key scope: writeApproval: Always needs your approvalNo usage charge
ParameterTypeRequiredDescription
modestringYesOperating mode: read_only, draft_with_approval or publish_with_approvalOne of: read_only, draft_with_approval, publish_with_approval

run_store_readiness_audit

Checks a project's store listing for launch blockers and returns each blocker, whether draft work can continue, the approval boundary and a suggested next step. It does not change listing content or publish anything.

Key scope: writeApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringNoProject ID; defaults to the first onboarding project

show_readiness_report

Displays an interactive readiness report from the fields returned by a readiness audit (project, ready, blockers, approvalBoundary, nextAction). Displaying the report does not run an audit or change any data.

Key scope: readApproval: Not needed (read-only)No usage charge
ParameterTypeRequiredDescription
projectobjectYes
readybooleanYes
blockersobject[]Yes
approvalBoundarystringYes
nextActionstringYes

complete_onboarding

Marks onboarding complete once an approval policy is set and the first readiness audit has run.

Key scope: writeApproval: Follows your approval policyNo usage charge

Metadata

translate_metadata

Translates supplied store listing fields into one or more non-English locales using AI and caches the result. By default it returns the translations without saving them (metadataSaved=false). With saveToLocaleDraft=true it also saves the translated fields to each locale draft in App Listing Agent, leaving other fields unchanged. It does not publish to a store. Uses plan allowance.

Key scope: translateApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
storestringYesTarget storeOne of: appstore, playstore
localesstring[]YesTarget locales to translate to
forcebooleanNoForce re-translation even if cached
saveToLocaleDraftbooleanNoWhen true, also saves the translated fields to each target locale draft in App Listing Agent. Other fields in those locales are unchanged. Nothing is published to a store.
metadataobjectYesMetadata fields to translate. Only send fields relevant to the target store.

update_metadata

Saves listing fields for one locale, including English, as a local draft in App Listing Agent. Only supplied fields change. App Store fields: title, subtitle, description, keywords, whatsNew, promotionalText. Google Play fields: title, shortDescription, fullDescription. Over-length values are rejected, not truncated. It does not publish to a store.

Key scope: writeApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
storestringYesTarget storeOne of: appstore, playstore
localestringYesLocale to update (e.g., en-US, fr-FR, de-DE)
metadataobjectYesMetadata fields to update. Only send fields relevant to the target store.

read_metadata

Returns the locally saved listing fields for a project: the primary locale by default, or a specific locale or all locales.

Key scope: readApproval: Not needed (read-only)No usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
localestringNoOptional: specific locale to read (e.g., en-US, fr-FR). Overrides primaryOnly.
primaryOnlybooleanNoOnly return the primary locale. Defaults to true. Set to false to return all locales.

check_metadata_compliance

Uses AI to check a locale's listing text and legal-document prerequisites against App Store or Google Play review guidelines. Returns issues grouped by severity with guideline references. It does not change the listing, and results do not guarantee store approval. Uses plan allowance.

Key scope: writeApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
localestringNoLocale to check (e.g., en-US, fr-FR). Defaults to the project's primary locale.
storeTypestringNoWhich store's guidelines to check against. Defaults to ios.One of: ios, android

upload_app_store_metadata

Uploads saved listing fields for the chosen locales to App Store Connect. dryRun=true returns a preview without uploading. A live upload requires store credentials, publish permission and the account owner's approval of the exact change in App Listing Agent.

Key scope: publishApproval: Always needs your approvalStore operation
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
localesstring[]YesLocales to upload
dryRunbooleanNoWhen true, returns a preview of the upload without sending anything to the store.
translationsobjectNoOptional translations to upload (uses cached if not provided)

upload_google_play_metadata

Uploads saved listing fields for the chosen locales to Google Play Console. dryRun=true returns a preview without uploading. A live upload requires store credentials, publish permission and the account owner's approval of the exact change in App Listing Agent.

Key scope: publishApproval: Always needs your approvalStore operation
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
localesstring[]YesLocales to upload (iOS locales auto-converted to Android)
dryRunbooleanNoWhen true, returns a preview of the upload without sending anything to the store.
translationsobjectNoOptional translations to upload (uses cached if not provided)

upload_metadata_to_both_stores

Uploads saved listing fields to both App Store Connect and Google Play Console in one operation. dryRun=true returns both previews without uploading. A live upload requires credentials for both stores, publish permission and the account owner's approval.

Key scope: publishApproval: Always needs your approvalStore operation
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
localesstring[]YesLocales to upload
dryRunbooleanNoWhen true, returns a preview of the upload without sending anything to the store.

Screenshots and graphics

generate_screenshot

Uses AI to create one marketing screenshot from a raw app screenshot and saves it to the project. It does not upload to a store. Uses plan allowance.

Key scope: screenshotsApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
rawImageUrlstringYesURL of the raw app screenshot
headlinestringYesMarketing headline text (max 50 chars)
subtitlestringNoOptional supporting marketing text beneath the headline (keep short, about 55-60 chars max).
styleSourceobjectYesStyle source - app category template, reference image, or custom style config
anchorImageUrlstringNoOptional: previously generated screenshot to use as style anchor
providerstringNoOptional image generation service. The default service is used when omitted.One of: gemini, kie
modelstringNoOptional model identifier for the selected image service.
resizeToSizesstring[]NoOptional: resize to specific App Store sizesOne of: 6.9, 6.5, 6.3, 6.1, 5.5, ipad-13, ipad-12.9, ipad-11, watch-ultra-3, watch-ultra, watch-10, watch-7, watch-4, watch-3

generate_screenshot_set

Uses AI to create a set of marketing screenshots with a shared visual style from several raw app screenshots and saves them to the project. Runs as a background job and returns a job ID. It does not upload to a store. Uses plan allowance.

Key scope: screenshotsApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
screenshotsobject[]YesArray of screenshots to generate (max 10)
styleSourceobjectYesStyle source - category template, reference image, or custom style config
deviceFramestringNoDevice frame style. "iphone" (default): iPhone mockup. "android": Pixel-style mockup. "generic": brand-neutral device shape (works for both stores). "none": no device frame, just app UI on background.One of: iphone, android, generic, none
providerstringNoOptional image generation service. The default service is used when omitted.One of: gemini, kie
modelstringNoOptional model identifier for the selected image service.
resizeToSizesstring[]NoOptional: resize to specific App Store sizesOne of: 6.9, 6.5, 6.3, 6.1, 5.5, ipad-13, ipad-12.9, ipad-11, watch-ultra-3, watch-ultra, watch-10, watch-7, watch-4, watch-3

generate_screenshots_from_plan

Uses AI to create a set of marketing screenshots from raw app screenshots, following a supplied headline and emphasis plan for each image, and saves them to the project. Runs as a background job and returns a job ID. It does not upload to a store. Uses plan allowance.

Key scope: screenshotsApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
screenshotsobject[]YesRaw screenshots with headlines and optional enhancements (max 10)
styleSourceobjectYesStyle source - category template, reference image, or custom style config
appContextobjectNoOptional app context used as generation input
deviceFramestringNoDevice frame style. "iphone" (default): iPhone mockup. "android": Pixel-style mockup. "generic": brand-neutral device shape (works for both stores). "none": no device frame, just app UI on background.One of: iphone, android, generic, none
providerstringNoOptional image generation service. The default service is used when omitted.One of: gemini, kie
modelstringNoOptional model identifier for the selected image service.
resizeToSizesstring[]NoOptional: resize to specific App Store sizesOne of: 6.9, 6.5, 6.3, 6.1, 5.5, ipad-13, ipad-12.9, ipad-11, watch-ultra-3, watch-ultra, watch-10, watch-7, watch-4, watch-3

get_screenshot_job_status

Returns the status and results of a screenshot generation job by job ID. It does not start or cancel work.

Key scope: screenshotsApproval: Not needed (read-only)No usage charge
ParameterTypeRequiredDescription
jobIdstringYesThe job ID returned by the screenshot generation tool

translate_screenshots

Uses AI to create localized copies of a project's existing marketing screenshots with translated headline text for the chosen locales. Runs as a background job and returns a job ID. It does not upload to a store. Uses plan allowance.

Key scope: translateApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
targetLocalesstring[]YesTarget locales to translate to (e.g. ["de-DE", "fr-FR", "ja", "es-ES"])
displayTypesstring[]NoOptional: specific display types to translate (e.g. ["APP_IPHONE_69"]). If omitted, translates all device sizes that have screenshots.
screenshotIdsstring[]NoOptional: specific screenshot IDs to translate. If omitted, translates all screenshots in each set.
translateInAppTextbooleanNoWhether to also translate visible in-app UI text within the screenshots (default: false)
preserveInPhoneUIbooleanNoIf true, keep phone/app UI text exactly as-is and translate only marketing text outside the device. Overrides translateInAppText unless translationMode is ui_full.
translateMarketingOnlybooleanNoAlias for preserving in-phone UI while translating only the App Store marketing copy.
translationInstructionsstringNoOptional custom guidance appended to the provider prompt, e.g. "Use short natural Spanish, avoid clipping, preserve phone UI."
translationModestringNoTranslation preset. literal = faithful translation, marketing_short = concise App Store copy, transcreate = natural localized rewrite, ui_full = translate marketing and in-app UI text.One of: literal, marketing_short, transcreate, ui_full
textLengthPolicyobjectNoOptional text fit constraints for generated localized screenshots.
providerstringNoOptional image translation service. The default service is used when omitted.One of: kie, fal, openai
modelstringNoOptional model identifier for the selected image service.
perScreenshotInstructionsobjectNoOptional screenshot-specific guidance keyed by screenshot id or 1-based screenshot number like "02". Values can be a string or an object with headline/subtitle/instructions/headlineMaxChars/subtitleMaxChars.

translate_custom_page_screenshots

Uses AI to create localized copies of the screenshots on one Custom Product Page locale for other locales of that page. Runs as a background job and returns a job ID. It does not upload to a store. Uses plan allowance.

Key scope: translateApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
pageIdstringYesThe custom product page ID
sourceLocalestringYesSource CPP localization locale, e.g. "en-US". Screenshots are read from this locale.
targetLocalesstring[]YesTarget locales to generate translated screenshots for (e.g. ["de-DE", "fr-FR", "ja"]).
displayTypesstring[]NoOptional: specific App Store display types to translate (e.g. ["APP_IPHONE_69"]). If omitted, translates all display types attached to the source CPP localization.
screenshotIdsstring[]NoOptional: specific CPP screenshot IDs to translate. If omitted, translates all screenshots matching the selected display types.
translateInAppTextbooleanNoWhether to also translate visible in-app UI text within the screenshots (default: false).
preserveInPhoneUIbooleanNoIf true, keep phone/app UI text exactly as-is and translate only marketing text outside the device. Overrides translateInAppText unless translationMode is ui_full.
translateMarketingOnlybooleanNoAlias for preserving in-phone UI while translating only the App Store marketing copy.
translationInstructionsstringNoOptional custom guidance appended to the provider prompt, e.g. "Use short natural Spanish, avoid clipping, preserve phone UI."
translationModestringNoTranslation preset. literal = faithful translation, marketing_short = concise App Store copy, transcreate = natural localized rewrite, ui_full = translate marketing and in-app UI text.One of: literal, marketing_short, transcreate, ui_full
textLengthPolicyobjectNoOptional text fit constraints for generated localized screenshots.
providerstringNoOptional image translation service. The default service is used when omitted.One of: kie, fal, openai
modelstringNoOptional model identifier for the selected image service.
perScreenshotInstructionsobjectNoOptional screenshot-specific guidance keyed by CPP screenshot id or 1-based screenshot number like "02". Values can be a string or an object with headline/subtitle/instructions/headlineMaxChars/subtitleMaxChars.

get_screenshot_translation_job_status

Returns the status and results of a screenshot translation job by job ID, including any continuation job. It does not start or cancel work.

Key scope: screenshotsApproval: Not needed (read-only)No usage charge
ParameterTypeRequiredDescription
jobIdstringYesThe screenshot translation job ID

get_screenshots

Returns a project's saved screenshot sets with image URLs, headlines and translated locales, and displays them to the user in an image gallery. Image contents are not described in the result. It does not create, edit or publish images.

Key scope: readApproval: Not needed (read-only)No usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
displayTypestringNoOptional: specific display type to get (e.g. "APP_IPHONE_69"). If omitted, returns all display types.
localestringNoOptional: get translated screenshots for this locale. If omitted, returns primary screenshots.
includeTranslatedLocalesbooleanNoIf true, also lists which locales have translated versions available (default: false)

upload_screenshot_asset

Stores a raw app screenshot or style reference image in App Listing Agent and returns its URL for later screenshot work. The stored URL is publicly accessible. It does not generate artwork or publish to a store.

Key scope: screenshotsApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
filenamestringYesFilename to use in storage, e.g. "sl-snore-event-list.png".
categorystringNoStorage category. Use raw for simulator captures, reference for existing style screenshots, temp for short-lived helper assets. Defaults to raw.One of: raw, reference, temp
sourceUrlstringNoPublic URL to fetch and upload. Provide exactly one of sourceUrl, dataUrl, or imageDataBase64.
dataUrlstringNoData URL in the form data:image/png;base64,... Provide exactly one of sourceUrl, dataUrl, or imageDataBase64.
imageDataBase64stringNoRaw base64 image bytes. Provide contentType when using this field. Provide exactly one of sourceUrl, dataUrl, or imageDataBase64.
contentTypestringNoContent type for imageDataBase64 inputs, defaults to image/png.

edit_screenshot

Uses AI to change one saved screenshot as described (for example text, layout, colours, background or device frame), optionally guided by reference images, and replaces that screenshot in the project. It does not upload to a store. Uses plan allowance.

Key scope: screenshotsApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
displayTypestringYesDisplay type (e.g. "APP_IPHONE_69")
screenshotIdstringYesThe screenshot ID within the set
localestringNoOptional: locale of a translated screenshot to edit. If omitted, edits the primary screenshot.
promptstringYesWhat to change — describe the edit in detail (e.g. "Fix the text overflow on the headline", "Make the background gradient darker", "Center the device mockup")
referenceImageUrlsstring[]NoOptional: reference image URLs for the AI to use as context (e.g. the base language screenshot, a style reference, etc.)

import_screenshots

Saves finished marketing screenshots as a project screenshot set for one device size. Image URLs are downloaded and stored; previously stored images are also accepted. It does not upload to a store.

Key scope: screenshotsApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
deviceSizestringYesTarget device size. iOS: 6.9 = iPhone 16 Pro Max (required), ipad-13 = iPad Pro M4. Apple Watch: watch-10 = 416×496 Series 10/11, watch-7 = 396×484, watch-4 = 368×448. Android: play-phone = 1080×1920, play-tablet = 1920×1200, play-feature-graphic = 1024×500 landscape banner.One of: 6.9, 6.5, 6.3, 6.1, 5.5, ipad-13, ipad-12.9, ipad-11, watch-ultra-3, watch-ultra, watch-10, watch-7, watch-4, watch-3, play-phone, play-tablet, play-feature-graphic
screenshotsobject[]YesArray of screenshots to import, in display order

generate_feature_graphic

Uses AI to create a 1024×500 Google Play feature graphic for an Android project from a headline and app details, and saves it to the project. It does not upload to Google Play. Uses plan allowance.

Key scope: screenshotsApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID of an Android project
headlinestringYesMain marketing headline/tagline for the banner (short, punchy, max ~50 chars)
rawImageUrlstringNoOptional: URL of a raw app screenshot to incorporate as a visual element in the banner. If omitted, generates a standalone branded graphic.
localestringNoTarget locale (default: project primary locale)
appNamestringNoApp name for branding (auto-detected from project if omitted)
appDescriptionstringNoShort app description for context (auto-detected from project if omitted)
styleSourceobjectYesStyle source: { type: "category", category: "..." } or { type: "reference", referenceImageUrl: "..." } or { type: "custom", style: { gradientColors: { primary, secondary }, fontStyle, styleDescription, decorativeElements? } }

import_google_play_graphics

Copies an Android project's existing phone screenshots, tablet screenshots and feature graphic from Google Play into App Listing Agent. It does not change the Google Play listing.

Key scope: screenshotsApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe Android project ID
displayTypesstring[]NoWhich image types to pull. Defaults to all types if not specified.One of: PLAY_PHONE, PLAY_TABLET, PLAY_FEATURE_GRAPHIC
localesstring[]NoOptional: specific locales to pull. Defaults to all locales with images.

suggest_headlines

Uses AI to suggest marketing headline text for an existing screenshot based on the app's listing. It does not create or change an image. Uses plan allowance.

Key scope: screenshotsApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
screenshotUrlstringYesURL of the screenshot to analyze
appMetadataobjectYesApp metadata for context
appCategorystringNoOptional app categoryOne of: kids, productivity, fitness, social, finance, utility, entertainment, education, lifestyle, health
numberOfSuggestionsnumberNo

Utilities

list_locales

Lists the locale codes supported by the App Store or Google Play.

Key scope: readApproval: Not needed (read-only)No usage charge
ParameterTypeRequiredDescription
storestringYesWhich store to list locales forOne of: appstore, playstore

check_project_configuration

Checks whether a project has the store identifiers, credentials and base listing fields needed for store operations, and lists anything missing. It does not change the project.

Key scope: readApproval: Not needed (read-only)No usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID to validate

Icons

generate_icon

Uses AI to create an app icon from a description, the app's listing, a reference image or its current App Store icon, and saves iOS and Android sizes to the project. It does not upload to a store. Uses plan allowance.

Key scope: screenshotsApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
sourceobjectYesIcon source - prompt, app metadata, reference image, or App Store app ID
stylestringNoIcon style (flat, 3d, minimalist, cute, gradient)One of: flat, 3d, minimalist, gradient, cute, mascot, glassmorphism, neon, duotone, clay, watercolor, sketch, pixel, isometric, metallic, geometric, line, retro
colorsobjectNo
backgroundstringNoBackground styleOne of: solid, gradient

generate_icon_variations

Uses AI to create four style variations (flat, 3D, minimalist, gradient) of an app icon concept and saves them to the project. It does not upload to a store. Uses plan allowance.

Key scope: screenshotsApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
promptstringYesPrompt describing the icon concept (10-500 chars)
colorsobjectNo

import_app_store_icon

Copies an app's current icon from its public App Store page and returns iOS (1024×1024) and Android (512×512) versions. It does not create new artwork.

Key scope: writeApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
appIdstringYesNumeric App Store app ID

resize_icon

Creates iOS (1024×1024) and Android (512×512) versions of an existing icon image and returns their URLs. It does not create new artwork.

Key scope: screenshotsApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
imageUrlstringYesURL of the icon image to resize

Publishes or replaces the app's hosted privacy policy or terms of service at a public URL. This is a public change, not a draft: it requires publish permission and the account owner's approval of the exact text in App Listing Agent. It does not update App Store Connect.

Key scope: publishApproval: Always needs your approvalNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
typestringYesType of legal documentOne of: privacy_policy, terms_of_service
contentstringYesMarkdown content of the legal document

Returns the project's privacy policy and terms of service, whether each is published, and their public URLs.

Key scope: readApproval: Not needed (read-only)No usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID

set_app_store_privacy_policy_url

Sets the App Store Connect privacy policy URL, for every localization, to the app's already published hosted privacy policy. Requires a linked App Store app, store credentials, publish permission and the account owner's approval. Terms of service are not supported.

Key scope: publishApproval: Always needs your approvalStore operation
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
typestringNoWhich legal document to push. Only privacy_policy is supported.One of: privacy_policy

Custom product pages and custom store listings

list_custom_product_pages

Lists a project's iOS Custom Product Pages saved in App Listing Agent, with their locales and screenshots.

Key scope: readApproval: Not needed (read-only)No usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID

create_custom_product_page

Creates a draft iOS Custom Product Page in App Listing Agent. It is not created in App Store Connect until the pages are synced.

Key scope: writeApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
namestringYesReference name for the custom product page (max 64 chars)
localizationsobject[]NoOptional initial localizations

update_custom_product_page

Renames a draft iOS Custom Product Page in App Listing Agent.

Key scope: writeApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
pageIdstringYesThe custom product page ID
namestringNoNew reference name (max 64 chars)

update_custom_product_page_localization

Creates or updates the promotional text for one locale of a draft iOS Custom Product Page in App Listing Agent.

Key scope: writeApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
pageIdstringYesThe custom product page ID
localestringYesLocale code (e.g., en-US)
promotionalTextstringNoPromotional text (max 170 chars)

sync_custom_product_pages

Transfers iOS Custom Product Pages between App Listing Agent and App Store Connect. direction=pull imports pages from App Store Connect. direction=push creates or updates pages, localizations and screenshots in App Store Connect; confirmed=false returns a preview, and a live push requires the account owner's approval. A screenshot push makes each page's screenshots match the local draft, removing ones that are not in it.

Key scope: publishApproval: Always needs your approvalStore operation
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
directionstringYesPull from or push to App Store ConnectOne of: pull, push
pageIdsstring[]NoOptional custom product page IDs to push
localesstring[]NoOptional locale codes to push for each page (useful for chunking large localized CPP screenshot pushes)
pushAllbooleanNoPush all pending local CPP changes (default behavior when no pageIds are provided)
forcebooleanNoPush all CPP pages even when marked synced
confirmedbooleanNoRequired for push direction to mutate ASC. Set false to preview.

add_custom_product_page_screenshot

Adds an already stored image to one locale of a draft iOS Custom Product Page. It is not sent to App Store Connect until the pages are synced.

Key scope: screenshotsApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
pageIdstringYesThe custom product page ID
localestringYesLocale code
displayTypestringYesScreenshot display type (e.g., APP_IPHONE_69)
imageUrlstringYesPublic URL of the uploaded image
imageKeystringNoOptional App Listing Agent storage key
fileNamestringYesOriginal file name
fileSizenumberNoOptional file size in bytes

list_custom_store_listings

Lists a project's Android Custom Store Listings saved in App Listing Agent, with their targeting, locales and assets.

Key scope: readApproval: Not needed (read-only)No usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID

create_custom_store_listing

Creates a draft Android Custom Store Listing in App Listing Agent. It is not created in Google Play until the listings are synced.

Key scope: writeApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
namestringYesInternal name for the listing
targetingTypestringNoTargeting typeOne of: COUNTRY, PRE_REGISTRATION, INSTALL_STATE
targetingCountriesstring[]NoCountry codes for COUNTRY targeting
localizationsobject[]NoOptional initial localizations

update_custom_store_listing

Changes the name or country targeting of a draft Android Custom Store Listing in App Listing Agent.

Key scope: writeApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
listingIdstringYesThe custom store listing ID
namestringNoNew internal name
targetingTypestringNoTargeting typeOne of: COUNTRY, PRE_REGISTRATION, INSTALL_STATE
targetingCountriesstring[]NoCountry codes

update_custom_store_listing_localization

Updates the title, short description or full description for one locale of a draft Android Custom Store Listing in App Listing Agent.

Key scope: writeApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
listingIdstringYesThe custom store listing ID
localestringYesLocale code
titlestringNoTitle (max 30 chars)
shortDescriptionstringNoShort description (max 80 chars)
fullDescriptionstringNoFull description (max 4000 chars)

sync_custom_store_listings

Transfers Android Custom Store Listings between App Listing Agent and Google Play. direction=pull imports listings from Google Play. direction=push with confirmed=true sends local changes to Google Play and requires the account owner's approval.

Key scope: publishApproval: Always needs your approvalStore operation
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
directionstringYesPull from or push to Play StoreOne of: pull, push
confirmedbooleanNoRequired for push direction. Set to true to confirm push.

add_custom_store_listing_screenshot

Adds an already stored screenshot to one locale of a draft Android Custom Store Listing. It is not sent to Google Play until the listings are synced.

Key scope: screenshotsApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
listingIdstringYesThe custom store listing ID
localestringYesLocale code
imageTypestringYesScreenshot typeOne of: phone, 7inch, 10inch
imageUrlstringYesPublic URL of the uploaded image
imageKeystringYesApp Listing Agent storage key
fileNamestringYesOriginal file name
fileSizenumberYesFile size in bytes

set_custom_store_listing_icon

Sets an already stored icon on one locale of a draft Android Custom Store Listing. It is not sent to Google Play until the listings are synced.

Key scope: screenshotsApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
listingIdstringYesThe custom store listing ID
localestringYesLocale code
imageUrlstringYesPublic URL of the uploaded icon
imageKeystringYesApp Listing Agent storage key

set_custom_store_listing_feature_graphic

Sets an already stored feature graphic on one locale of a draft Android Custom Store Listing. It is not sent to Google Play until the listings are synced.

Key scope: screenshotsApproval: Follows your approval policyNo usage charge
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
listingIdstringYesThe custom store listing ID
localestringYesLocale code
imageUrlstringYesPublic URL of the uploaded feature graphic
imageKeystringYesApp Listing Agent storage key

Campaign text

write_custom_page_text

Uses AI to write promotional text for an iOS Custom Product Page, or title and descriptions for an Android Custom Store Listing, and returns it. It does not create images or publish to a store. Uses plan allowance.

Key scope: writeApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
pageIdstringYesThe custom page or listing ID
localestringYesTarget locale for content generation
targetAudiencestringNoDescription of the target audience (e.g., "fitness beginners", "power users")
keywordsstring[]NoKeywords to emphasize in the generated content
tonestringNoWriting toneOne of: professional, casual, urgent, playful, informative

translate_custom_page_text

Uses AI to translate a Custom Product Page or Custom Store Listing's text from a source locale into target locales. With apply=true it saves the translations to those draft locales. It does not publish to a store. Uses plan allowance.

Key scope: translateApproval: Follows your approval policyUses plan allowance (AI)
ParameterTypeRequiredDescription
projectIdstringYesThe project ID
pageIdstringYesThe custom page or listing ID
sourceLocalestringYesSource locale to translate from
targetLocalesstring[]YesTarget locales to translate to
applybooleanNoIf true, saves the translations to the draft locales. Default false.