Quickstart
Get started with the App Store Connect CLI in minutesThis guide walks you through your first
asc commands, from authentication to making your first API call.
Prerequisites
Before starting, make sure you have:- Installed
asc(Installation guide) - Generated App Store Connect API credentials (Authentication guide)
- A
.p8private key file from App Store Connect
Step 1: Authenticate
Store your API credentials usingasc auth login:
Replace placeholders
--name: A friendly name for this key (e.g., “Personal”, “WorkProject”)--key-id: Your 10-character Key ID from App Store Connect--issuer-id: Your Issuer ID (UUID format)--private-key: Path to your.p8file
By default, credentials are stored in your system keychain (macOS Keychain, Windows Credential Manager, or Linux Secret Service). Use
--bypass-keychain to store in a config file instead.Step 2: List your apps
Fetch all apps associated with your account:Get JSON output explicitly
Step 3: Explore a specific app
Use the app ID from the previous step to view detailed information:Set a default app
A default app helps with commands that accept--app:
~/.bashrc, ~/.zshrc, etc.):
Step 4: Fetch builds
List recent builds for your app:Use
--paginate to fetch all pages automatically: asc builds list --app "123456789" --paginateStep 5: Check TestFlight feedback
View feedback from beta testers:Fetch crash reports
Common workflows
Upload a build to TestFlight
List TestFlight beta groups
Add a build to a beta group
Validate an App Store version
Before submitting for review:Publish to the App Store
The canonical App Store publish path is
asc publish appstore ... --submit --confirm. Use asc validate, asc submit status, or asc submit cancel for readiness and submission lifecycle follow-up work.Explore commands
asc is self-documenting. Use --help at any level:
--help output:
Output formats
asc supports multiple output formats:
- table (default in TTY)
- json (default in pipes/CI)
- json --pretty
- markdown
Set a global default
Scripting tips
Exit codes
asc uses standard exit codes:
0: Success1: Runtime error (API failure, network issue, etc.)2: Usage error (invalid flags, missing arguments)
Parse JSON output with jq
Pagination
Manual pagination:Environment variables
Common environment variables for convenience:Next steps
Command reference
Browse all available commands and flags
CI/CD integration
Automate workflows in GitHub Actions, GitLab CI, and more
Workflows
Create multi-step automation with
asc workflowGuides
Real-world examples for common tasks
Troubleshooting
Command not found: asc
Command not found: asc
Ensure If empty, add the installation directory to your shell profile:
asc is in your PATH:Authentication failed
Authentication failed
Verify your credentials:Run the doctor to diagnose issues:
API rate limits
API rate limits
App Store Connect enforces rate limits. If you hit them:
- Reduce request frequency
- Use
--limitto fetch fewer results - Cache API responses locally
Network timeouts
Network timeouts
Increase the timeout for slow connections:For uploads, use
ASC_UPLOAD_TIMEOUT:Get help
- Built-in docs:
asc --helporasc <command> --help - GitHub Issues: Report bugs or request features
- Discussions: Ask questions and share workflows