Skip to main content

Command Reference Overview

Understanding the asc command-line interface structure and usage patterns
The App Store Connect CLI (asc) provides a comprehensive set of commands for automating iOS, macOS, tvOS, and visionOS workflows. This page explains how to discover and use commands effectively.
Upgrading older scripts to 1.0? Start with Migrate to 1.0 before updating command examples or CI jobs.

Command Discovery

The CLI is self-documenting. Before implementing or testing any command, use --help to confirm the exact interface:
asc --help                    # List all commands
asc <command> --help          # Show command details and subcommands
asc <command> <subcommand> --help  # Show all flags for a specific subcommand
Do not memorize commands. Always check --help for the current interface.

Usage Pattern

All commands follow this structure:
asc <subcommand> [flags]
Flags can appear before or after subcommands:
asc --profile production apps list
asc --profile production apps list

Command Families

Commands are organized into logical families based on functionality:

Getting Started

  • auth - Manage authentication for the App Store Connect API
  • doctor - Diagnose authentication configuration issues
  • install-skills - Install the asc skill pack for App Store Connect workflows
  • init - Initialize asc helper docs in the current repo
  • docs - Access embedded documentation guides and reference helpers

Experimental and Unofficial

  • web - Unofficial Apple web-session workflows. Experimental, unofficial, and discouraged.

Analytics and Finance

  • analytics - Request and download analytics and sales reports
  • insights - Generate weekly and daily insights from App Store data sources
  • finance - Download payments and financial reports
  • performance - Access performance metrics and diagnostic logs
  • feedback - List TestFlight feedback from beta testers
  • crashes - List and export TestFlight crash reports

App Management

  • apps - List and manage apps in App Store Connect
  • app-setup - Post-create app setup automation
  • app-tags - Manage app tags for App Store visibility
  • versions - Manage App Store versions
  • localizations - Manage App Store localization metadata
  • metadata - Manage app metadata with deterministic file workflows
  • screenshots - Capture, frame, review, and upload App Store screenshots
  • video-previews - Manage App Store app preview videos
  • background-assets - Manage background assets
  • product-pages - Manage custom product pages and experiments
  • routing-coverage - Manage routing app coverage files
  • pricing - Manage app pricing and availability
  • pre-orders - Manage app pre-orders
  • categories - Manage App Store categories
  • age-rating - Manage App Store age rating declarations
  • accessibility - Manage accessibility declarations
  • encryption - Manage app encryption declarations and documents
  • eula - Manage end-user license agreements
  • agreements - Manage App Store Connect agreements
  • app-clips - Manage App Clip experiences and invocations
  • android-ios-mapping - Manage Android-to-iOS app mapping details
  • marketplace - Manage marketplace resources
  • alternative-distribution - Manage alternative distribution resources
  • nominations - Manage featuring nominations
  • game-center - Manage Game Center resources

TestFlight and Builds

  • testflight - Manage TestFlight workflows
  • builds - Manage builds in App Store Connect
  • build-bundles - Manage build bundles and App Clip data
  • build-localizations - Manage build release notes localizations
  • xcode - Local Xcode archive/export helpers
  • sandbox - Manage sandbox testers in App Store Connect

Review and Release

  • release - Run high-level App Store release workflows
  • status - Show a release pipeline dashboard for an app
  • release-notes - Generate and manage App Store release notes
  • review - Manage App Store review details, attachments, and submissions
  • reviews - List and manage App Store customer reviews
  • submit - Submission lifecycle tools for App Store review state
  • validate - Validate App Store version readiness before submission
  • publish - High-level publish workflows for TestFlight and the canonical App Store shipping path

Monetization

  • iap - Manage in-app purchases in App Store Connect
  • app-events - Manage App Store in-app events
  • subscriptions - Manage subscription groups and subscriptions

Signing

  • signing - Manage signing certificates and profiles
  • bundle-ids - Manage bundle IDs and capabilities
  • certificates - Manage signing certificates
  • profiles - Manage provisioning profiles
  • merchant-ids - Manage merchant IDs and certificates
  • pass-type-ids - Manage pass type IDs
  • notarization - Manage macOS notarization submissions

Team and Access

  • account - Inspect account-level health and access signals
  • users - Manage users and invitations in App Store Connect
  • actors - Lookup actors (users, API keys) by ID
  • devices - Manage devices in App Store Connect

Automation

  • webhooks - Manage webhooks in App Store Connect
  • xcode-cloud - Trigger and monitor Xcode Cloud workflows
  • notify - Send notifications to external services
  • migrate - Migrate metadata from/to fastlane format
  • workflow - Run multi-step automation workflows

Utility

  • version - Print version information and exit
  • completion - Print shell completion scripts
  • diff - Generate deterministic non-mutating diff plans
  • schema - Inspect App Store Connect API endpoint schemas at runtime

TTY-Aware Output Defaults

The CLI automatically chooses the best output format based on your environment:
  • Interactive terminal (TTY): Defaults to table format for human readability
  • Non-interactive output (pipes, files, CI): Defaults to minified json for machine parsing
This behavior ensures you get readable output in your terminal and parseable output in scripts—without needing to specify --output every time.

Override Defaults

Set a global preference:
export ASC_DEFAULT_OUTPUT=markdown
Or use explicit flags (always takes precedence):
asc apps list --output json
asc apps list --output table
asc apps list --output markdown

Scripting Tips

  • Use --output json for explicit machine-readable output in scripts
  • Use --output table or --output markdown for explicit human-readable output
  • Use --paginate on list commands to fetch all pages automatically
  • Use --limit and --next for manual pagination control
  • Prefer explicit flags and deterministic outputs in CI scripts
  • Use long-form flags (--app, --output) for clarity in documentation and scripts

Common Examples

# List apps with table output
asc apps list --output table

# View app details as JSON
asc apps view --id "123456789" --output json

# Publish an App Store version
asc publish appstore --app "123456789" --ipa "./MyApp.ipa" --version "1.2.3" --submit --confirm

# Run a local automation workflow
asc workflow run --file .asc/workflow.json release

# Fetch all pages of results
asc builds list --app "123456789" --paginate

Next Steps

  • See Global Flags for flags available on all commands
  • Check command-specific pages for detailed usage and examples
  • Use asc <command> --help to explore command capabilities