Skip to main content

Quickstart

Get started with the App Store Connect CLI in minutes
This guide walks you through your first asc commands, from authentication to making your first API call.

Prerequisites

Before starting, make sure you have:

Step 1: Authenticate

Store your API credentials using asc auth login:
1

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 .p8 file
2

Verify storage

Expected output:
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:
Sample output (interactive terminal):
When piped or in CI, asc automatically outputs JSON. Try: asc apps list | jq

Get JSON output explicitly

Output:

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:
Or add to your shell profile (~/.bashrc, ~/.zshrc, etc.):

Step 4: Fetch builds

List recent builds for your app:
Sample output:
Use --paginate to fetch all pages automatically: asc builds list --app "123456789" --paginate

Step 5: Check TestFlight feedback

View feedback from beta testers:

Fetch crash reports

Common workflows

Upload a build to TestFlight

Build uploads can take several minutes depending on file size and network speed. The CLI shows progress and waits for processing to complete.

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:
Sample --help output:

Output formats

asc supports multiple output formats:
Human-readable tabular output with borders.

Set a global default

Explicit flags always override defaults:

Scripting tips

Exit codes

asc uses standard exit codes:
  • 0: Success
  • 1: Runtime error (API failure, network issue, etc.)
  • 2: Usage error (invalid flags, missing arguments)

Parse JSON output with jq

Pagination

Manual pagination:
Automatic pagination:

Environment variables

Common environment variables for convenience:
See Environment Variables Reference for the complete list.

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 workflow

Guides

Real-world examples for common tasks

Troubleshooting

Ensure asc is in your PATH:
If empty, add the installation directory to your shell profile:
Verify your credentials:
Run the doctor to diagnose issues:
App Store Connect enforces rate limits. If you hit them:
  • Reduce request frequency
  • Use --limit to fetch fewer results
  • Cache API responses locally
The CLI automatically retries rate-limited requests with exponential backoff.
Increase the timeout for slow connections:
For uploads, use ASC_UPLOAD_TIMEOUT:

Get help