What is the App Store Connect CLI?
What is the App Store Connect CLI?
asc) is an unofficial, fast, lightweight, and scriptable command-line tool for the App Store Connect API. It allows you to automate iOS, macOS, tvOS, and visionOS release workflows from your terminal, IDE, or CI/CD pipeline.Built in Go using ffcli, it provides a comprehensive interface to manage apps, builds, TestFlight, reviews, analytics, signing, and more.Is this an official Apple tool?
Is this an official Apple tool?
How do I install the CLI?
How do I install the CLI?
How do I authenticate with App Store Connect?
How do I authenticate with App Store Connect?
~/.asc/config.json) with restricted permissions.Can I use environment variables for authentication?
Can I use environment variables for authentication?
What permissions does my API key need?
What permissions does my API key need?
- App Manager: Most operations (builds, TestFlight, metadata, screenshots)
- Admin: Full access including user management
- Developer: Read-only access to most resources
- Sales: Access to sales and analytics reports
- Finance: Access to financial reports
- Customer Support: Access to customer reviews and feedback
How do I list all available commands?
How do I list all available commands?
--help for the current interface before running commands.What output formats are supported?
What output formats are supported?
json- Machine-readable JSONtable- Human-readable table (default in terminals)markdownormd- Markdown tables
- Interactive terminal:
table - Pipes/files/CI:
json
How do I handle pagination?
How do I handle pagination?
--paginate flag to automatically fetch all pages:--paginate, only the first page (default limit) is returned. This is especially important for:- Analytics reports with large datasets
- Complete feedback/crash lists
- Comprehensive build history
Can I use this in CI/CD pipelines?
Can I use this in CI/CD pipelines?
- GitHub Actions: Use the official setup-asc action
- GitLab CI/CD: Use asc-ci-components
- Bitrise: Use the setup-asc step
- CircleCI: Use the asc orb
How do I upload builds to TestFlight?
How do I upload builds to TestFlight?
How do I get TestFlight feedback and crash reports?
How do I get TestFlight feedback and crash reports?
Can I manage app metadata and localizations?
Can I manage app metadata and localizations?
How do I work with signing certificates and profiles?
How do I work with signing certificates and profiles?
create and delete subcommands.What are workflows and how do I use them?
What are workflows and how do I use them?
How do I enable debug logging?
How do I enable debug logging?
- Request URLs and headers
- Response status codes and bodies
- Retry attempts and timing
How do I handle API rate limits?
How do I handle API rate limits?
What's the difference between sales and finance reports?
What's the difference between sales and finance reports?
- Sales reports: Daily/weekly/monthly sales data, units sold, proceeds
- Finance reports: Apple fiscal month reports, payments, regions
YYYY-MM):Can I manage sandbox testers?
Can I manage sandbox testers?
- Password must include uppercase, lowercase, and a number (8+ chars)
- Territory uses 3-letter codes (e.g.,
USA,JPN) - Secret question and answer required
How do I work with Game Center?
How do I work with Game Center?
- Releases are required to make resources live
- Image uploads follow a three-step flow (reserve → upload → commit)
- Some relationships are replace-only (PATCH)
Where can I find API documentation?
Where can I find API documentation?
sosumi.ai mirror over developer.apple.com:Replace:How do I contribute to the project?
How do I contribute to the project?
- Development setup
- Testing requirements
- PR guidelines
- Local validation checklist
How do I report security issues?
How do I report security issues?
- Clear vulnerability description and impact
- Steps to reproduce
- Affected versions and platforms
What is asc skills?
What is asc skills?
- Build uploads and distribution
- TestFlight management
- Metadata synchronization
- App submissions
- Signing and provisioning
Can I use this on Linux?
Can I use this on Linux?
- Keychain features fall back to config file storage
- Ensure Go 1.26+ is installed
- All core functionality works identically
How do I update to the latest version?
How do I update to the latest version?
Why does output format change between terminal and scripts?
Why does output format change between terminal and scripts?
- Interactive terminal (TTY): Defaults to
tablefor readability - Pipes/files/CI (non-TTY): Defaults to
jsonfor machine parsing
- Human-friendly output when exploring interactively
- Machine-parseable output in automation
--output flag or ASC_DEFAULT_OUTPUT environment variable.Where can I get help?
Where can I get help?
- Built-in help:
asc --helpandasc <command> --help - Documentation: Full command reference and guides
- GitHub Issues: Report bugs or request features
- Troubleshooting: See Troubleshooting Guide
- API Notes: Check API Notes for quirks
