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 get detailed information:Set a default app
Avoid typing--app repeatedly:
~/.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:Submit for App Store review
Use
--confirm to skip confirmation prompts in scripts: asc submit --app "123456789" --version "1.2.3" --confirmExplore 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
